diff options
| author | Selene ToyKeeper | 2023-10-29 13:19:38 -0600 |
|---|---|---|
| committer | Selene ToyKeeper | 2023-10-29 13:19:38 -0600 |
| commit | 4aec487ea7d03e9554ebbe8f50e72235bf6f2e6e (patch) | |
| tree | 97dc4d4f8e52ee560ed65ba98c33e08ff3f4f2fa /hwdef-emisar-d4k-3ch.h | |
| parent | converted noctigon-dm11-boost to use PWM+DSM, and recalibrated timing for del... (diff) | |
| download | anduril-4aec487ea7d03e9554ebbe8f50e72235bf6f2e6e.tar.gz anduril-4aec487ea7d03e9554ebbe8f50e72235bf6f2e6e.tar.bz2 anduril-4aec487ea7d03e9554ebbe8f50e72235bf6f2e6e.zip | |
applied new delay factor to other DSM builds, and some new DSM_* defines
Diffstat (limited to 'hwdef-emisar-d4k-3ch.h')
| -rw-r--r-- | hwdef-emisar-d4k-3ch.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/hwdef-emisar-d4k-3ch.h b/hwdef-emisar-d4k-3ch.h index 581f51c..2e83fbe 100644 --- a/hwdef-emisar-d4k-3ch.h +++ b/hwdef-emisar-d4k-3ch.h @@ -94,6 +94,13 @@ enum channel_modes_e { // (max is (255 << 7), because it's 8-bit PWM plus 7 bits of DSM) #define DSM_TOP (255<<7) // 15-bit resolution leaves 1 bit for carry +// timer interrupt for DSM +#define DSM_vect TIMER0_OVF_vect +#define DSM_INTCTRL TIMSK +#define DSM_OVF_bm (1<<TOIE0) + +#define DELAY_FACTOR 90 // less time in delay() because more time spent in interrupts + // main 2 LEDs / 1st channel (2 LEDs) uint16_t main2_dsm_lvl; uint8_t main2_pwm, main2_dsm; @@ -228,7 +235,8 @@ inline void hwdef_setup() { ; // set up interrupt for delta-sigma modulation - TIMSK |= (1<<TOIE0); // interrupt once for each timer 0 cycle + // (moved to hwdef.c functions so it can be enabled/disabled based on ramp level) + //DSM_INTCTRL |= DSM_OVF_bm; // interrupt once for each timer cycle // set up e-switch SWITCH_PUE = (1 << SWITCH_PIN); // pull-up for e-switch |
