15
#define PWM_CHANNELS 3
18
#define HWDEF_C_FILE hwdef-fw3a.c
21
// * 0. FET+N+1 stacked
22
#define NUM_CHANNEL_MODES 1
27
#define DEFAULT_CHANNEL_MODE CM_MAIN
29
// right-most bit first, modes are in fedcba9876543210 order
30
#define CHANNEL_MODES_ENABLED 0b00000001
33
#define PWM_CHANNELS 3 // old, remove this
35
#define PWM_BITS 8 // attiny85 only supports up to 8 bits
36
#define PWM_GET PWM_GET8
37
#define PWM_DATATYPE uint8_t
38
#define PWM_DATATYPE2 uint16_t
39
#define PWM1_DATATYPE uint8_t // 1x7135 ramp
40
#define PWM2_DATATYPE uint8_t // 7x7135 ramp
41
#define PWM3_DATATYPE uint8_t // DD FET ramp
43
#define PWM_TOP_INIT 255 // highest value used in top half of ramp
46
#define CH1_PIN PB0 // pin 5, 1x7135 PWM
47
#define CH1_PWM OCR0A // OCR0A is the output compare register for PB0
50
#define CH2_PIN PB1 // pin 6, 7x7135 PWM
51
#define CH2_PWM OCR0B // OCR0B is the output compare register for PB1
54
#define CH3_PIN PB4 // pin 3, FET PWM
55
#define CH3_PWM OCR1B // OCR1B is the output compare register for PB4
18
59
#define SWITCH_PIN PB3 // pin 2
19
60
#define SWITCH_PCINT PCINT3 // pin 2 pin change interrupt
23
#define PWM1_PIN PB0 // pin 5, 1x7135 PWM
24
#define PWM1_LVL OCR0A // OCR0A is the output compare register for PB0
27
#define PWM2_PIN PB1 // pin 6, 7x7135 PWM
28
#define PWM2_LVL OCR0B // OCR0B is the output compare register for PB1
31
#define PWM3_PIN PB4 // pin 3, FET PWM
32
#define PWM3_LVL OCR1B // OCR1B is the output compare register for PB4
36
64
#define AUXLED_PIN PB2 // pin 7
45
73
#define FAST 0xA3 // fast PWM both channels
46
74
#define PHASE 0xA1 // phase-correct PWM both channels
77
inline void hwdef_setup() {
79
// configure PWM channels
84
// configure PWM channels
85
TCCR0B = 0x01; // pre-scaler for timer (1 => 1, 2 => 8, 3 => 64...)
88
// Second PWM counter is ... weird
90
GTCCR = _BV (COM1B1) | _BV (PWM1B);
91
OCR1C = PWM_TOP_INIT; // Set ceiling value to maximum
94
PORTB = (1 << SWITCH_PIN); // e-switch is the only input
95
PCMSK = (1 << SWITCH_PIN); // pin change interrupt uses this pin
48
100
#define LAYOUT_DEFINED