mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-04 18:38:13 +00:00
STM32 timer hack
This commit is contained in:
parent
4171d2f93b
commit
dc9f738f30
@ -19,7 +19,7 @@
|
|||||||
#define VERSION_MAJOR 1
|
#define VERSION_MAJOR 1
|
||||||
#define VERSION_MINOR 1
|
#define VERSION_MINOR 1
|
||||||
#define VERSION_REVISION 6
|
#define VERSION_REVISION 6
|
||||||
#define VERSION_PATCH_LEVEL 43
|
#define VERSION_PATCH_LEVEL 44
|
||||||
//******************
|
//******************
|
||||||
// Protocols
|
// Protocols
|
||||||
//******************
|
//******************
|
||||||
@ -238,16 +238,17 @@ struct PPM_Parameters
|
|||||||
|
|
||||||
// Telemetry
|
// Telemetry
|
||||||
|
|
||||||
enum MultiPacketTypes {
|
enum MultiPacketTypes
|
||||||
MULTI_TELEMETRY_STATUS = 1,
|
{
|
||||||
MULTI_TELEMETRY_SPORT = 2,
|
MULTI_TELEMETRY_STATUS = 1,
|
||||||
MULTI_TELEMETRY_HUB = 3,
|
MULTI_TELEMETRY_SPORT = 2,
|
||||||
MULTI_TELEMETRY_DSM = 4,
|
MULTI_TELEMETRY_HUB = 3,
|
||||||
MULTI_TELEMETRY_DSMBIND = 5,
|
MULTI_TELEMETRY_DSM = 4,
|
||||||
MULTI_TELEMETRY_AFHDS2A = 6,
|
MULTI_TELEMETRY_DSMBIND = 5,
|
||||||
MULTI_TELEMETRY_CONFIG = 7,
|
MULTI_TELEMETRY_AFHDS2A = 6,
|
||||||
MULTI_TELEMETRY_SYNC = 8,
|
MULTI_TELEMETRY_CONFIG = 7,
|
||||||
MULTI_TELEMETRY_SPORT_POLLING = 9,
|
MULTI_TELEMETRY_SYNC = 8,
|
||||||
|
MULTI_TELEMETRY_SPORT_POLLING = 9,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Macros
|
// Macros
|
||||||
|
@ -1537,7 +1537,12 @@ static uint32_t random_id(uint16_t address, uint8_t create_new)
|
|||||||
if(discard_frame==1)
|
if(discard_frame==1)
|
||||||
{
|
{
|
||||||
#ifdef STM32_BOARD
|
#ifdef STM32_BOARD
|
||||||
timer.detachInterrupt(TIMER_CH2); // Disable interrupt on ch2
|
//For whatever reason the line below does not stop the interrupt to be called
|
||||||
|
//timer.detachInterrupt(TIMER_CH2); // Disable interrupt on ch2
|
||||||
|
//So I'm pushing the comparator out (32ms from now) so it does not come to interfer
|
||||||
|
uint16_t OCR1B;
|
||||||
|
OCR1B=TCNT1;
|
||||||
|
timer.setCompare(TIMER_CH2,OCR1B);
|
||||||
#else
|
#else
|
||||||
CLR_TIMSK1_OCIE1B; // Disable interrupt on compare B match
|
CLR_TIMSK1_OCIE1B; // Disable interrupt on compare B match
|
||||||
#endif
|
#endif
|
||||||
@ -1561,7 +1566,9 @@ static uint32_t random_id(uint16_t address, uint8_t create_new)
|
|||||||
{ // Timer1 compare B interrupt
|
{ // Timer1 compare B interrupt
|
||||||
discard_frame=1;
|
discard_frame=1;
|
||||||
#ifdef STM32_BOARD
|
#ifdef STM32_BOARD
|
||||||
timer.detachInterrupt(TIMER_CH2); // Disable interrupt on ch2
|
//For whatever reason the line below does not stop the interrupt to be called
|
||||||
|
//timer.detachInterrupt(TIMER_CH2); // Disable interrupt on ch2
|
||||||
|
//So I leave the comparator as it is (32ms from now) so it does not come to interfer
|
||||||
debugln("Bad frame timer");
|
debugln("Bad frame timer");
|
||||||
#else
|
#else
|
||||||
CLR_TIMSK1_OCIE1B; // Disable interrupt on compare B match
|
CLR_TIMSK1_OCIE1B; // Disable interrupt on compare B match
|
||||||
|
Loading…
x
Reference in New Issue
Block a user