From 17409f04ed553b40d9ed27defea3dd7bed194655 Mon Sep 17 00:00:00 2001 From: bsongis Date: Thu, 7 Jun 2012 09:56:11 +0000 Subject: [PATCH] Port from ppm42ms branch --- src/model_menus.cpp | 2 +- src/pulses_arm.cpp | 4 +-- src/pulses_avr.cpp | 79 ++++++++++++++++----------------------------- 3 files changed, 30 insertions(+), 55 deletions(-) diff --git a/src/model_menus.cpp b/src/model_menus.cpp index 899ec21a3..382b6c12f 100644 --- a/src/model_menus.cpp +++ b/src/model_menus.cpp @@ -769,7 +769,7 @@ void menuProcModel(uint8_t event) if(attr && (s_editMode>0 || p1valdiff)) { switch (m_posHorz) { case 0: - CHECK_INCDEC_MODELVAR(event, g_model.ppmFrameLength, -20, 20); + CHECK_INCDEC_MODELVAR(event, g_model.ppmFrameLength, -20, 35); break; case 1: CHECK_INCDEC_MODELVAR(event, g_model.ppmDelay, -4, 10); diff --git a/src/pulses_arm.cpp b/src/pulses_arm.cpp index 6e7164b41..1a92d819c 100644 --- a/src/pulses_arm.cpp +++ b/src/pulses_arm.cpp @@ -159,8 +159,8 @@ void setupPulsesPPM() // Don't enable interrupts through here else pwmptr->PWM_CH_NUM[3].PWM_CMR &= ~0x00000200 ; // CPOL - uint16_t rest = 22500u * 2; //Minimum Framelen=22.5 ms - rest += (int16_t(g_model.ppmFrameLength)) * 1000; + uint32_t rest = 22500u * 2; //Minimum Framelen=22.5 ms + rest += (int32_t(g_model.ppmFrameLength)) * 1000; for (uint32_t i = 0; i < p; i++) { //NUM_CHNOUT int16_t v = limit((int16_t)-PPM_range, g_chans512[i], (int16_t)PPM_range) + 2*PPM_CENTER; rest -= (v); diff --git a/src/pulses_avr.cpp b/src/pulses_avr.cpp index 24f39c73a..5c6b97b3e 100644 --- a/src/pulses_avr.cpp +++ b/src/pulses_avr.cpp @@ -46,6 +46,8 @@ uint8_t s_current_protocol = 255; uint8_t s_pulses_paused = 0; +uint16_t B3_comp_value; + #ifdef DSM2_SERIAL inline void DSM2_EnableTXD(void) { @@ -56,7 +58,6 @@ inline void DSM2_EnableTXD(void) void set_timer3_capture( void ) ; void set_timer3_ppm( void ) ; -void setupPulsesPPM16( uint8_t proto ) ; void startPulses() { @@ -158,7 +159,7 @@ ISR(TIMER1_COMPA_vect) //2MHz pulse generation pulses2MHzRPtr += sizeof(uint16_t); if (*((uint16_t*)pulses2MHzRPtr) == 0) { - pulsePol = !g_model.pulsePol; + pulsePol = g_model.pulsePol; #if defined(PCBV4) TIMSK1 &= ~(1<