aboutsummaryrefslogtreecommitdiff
path: root/hwdef-Emisar_D4.h
diff options
context:
space:
mode:
authorSelene ToyKeeper2018-06-24 19:57:42 -0600
committerSelene ToyKeeper2018-06-24 19:57:42 -0600
commit0870da1dcbb2b446851bfcf507d4535f9eded417 (patch)
tree70a3da9676d951db105d0e04c07c8f5cfef1d2e3 /hwdef-Emisar_D4.h
parentMoved driver-specific details to separate header files. (diff)
downloadanduril-0870da1dcbb2b446851bfcf507d4535f9eded417.tar.gz
anduril-0870da1dcbb2b446851bfcf507d4535f9eded417.tar.bz2
anduril-0870da1dcbb2b446851bfcf507d4535f9eded417.zip
Refactored driver/hardware definition code to be one file per driver type.
Diffstat (limited to '')
-rw-r--r--hwdef-Emisar_D4.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/hwdef-Emisar_D4.h b/hwdef-Emisar_D4.h
new file mode 100644
index 0000000..105d3b9
--- /dev/null
+++ b/hwdef-Emisar_D4.h
@@ -0,0 +1,36 @@
+/* Emisar D4 driver layout
+ * ----
+ * Reset -|1 8|- VCC
+ * eswitch -|2 7|-
+ * AUX LED -|3 6|- PWM (FET)
+ * GND -|4 5|- PWM (1x7135)
+ * ----
+ */
+
+#define PWM_CHANNELS 2
+
+#define AUXLED_PIN PB4 // pin 3
+
+#define SWITCH_PIN PB3 // pin 2
+#define SWITCH_PCINT PCINT3 // pin 2 pin change interrupt
+
+#define PWM1_PIN PB0 // pin 5, 1x7135 PWM
+#define PWM1_LVL OCR0A // OCR0A is the output compare register for PB0
+#define PWM2_PIN PB1 // pin 6, FET PWM
+#define PWM2_LVL OCR0B // OCR0B is the output compare register for PB1
+
+// (FIXME: remove? not used?)
+#define VOLTAGE_PIN PB2 // pin 7, voltage ADC
+#define ADC_CHANNEL 0x01 // MUX 01 corresponds with PB2
+#define ADC_DIDR ADC1D // Digital input disable bit corresponding with PB2
+#define ADC_PRSCL 0x06 // clk/64
+
+// average drop across diode on this hardware
+#define VOLTAGE_FUDGE_FACTOR 5 // add 0.25V
+
+//#define TEMP_DIDR ADC4D
+#define TEMP_CHANNEL 0b00001111
+
+#define FAST 0xA3 // fast PWM both channels
+#define PHASE 0xA1 // phase-correct PWM both channels
+