mirror of
https://github.com/opentx/opentx.git
synced 2025-07-26 01:35:21 +03:00
Telemetry refactoring
This commit is contained in:
parent
7b1f11398d
commit
b376192b61
32 changed files with 1526 additions and 1635 deletions
|
@ -1557,7 +1557,7 @@ uint16_t s_timeCum16ThrP; // THR% in 1/16 sec
|
|||
|
||||
uint8_t trimsCheckTimer = 0;
|
||||
|
||||
void resetTimer(uint8_t idx)
|
||||
void timerReset(uint8_t idx)
|
||||
{
|
||||
TimerState & timerState = timersStates[idx];
|
||||
timerState.state = TMR_OFF; // is changed to RUNNING dep from mode
|
||||
|
@ -1565,7 +1565,7 @@ void resetTimer(uint8_t idx)
|
|||
timerState.val_10ms = 0 ;
|
||||
}
|
||||
|
||||
void resetAll()
|
||||
void flightReset()
|
||||
{
|
||||
static bool firstReset = true;
|
||||
if (firstReset)
|
||||
|
@ -1573,10 +1573,10 @@ void resetAll()
|
|||
else
|
||||
AUDIO_RESET();
|
||||
|
||||
resetTimer(0);
|
||||
resetTimer(1);
|
||||
timerReset(0);
|
||||
timerReset(1);
|
||||
#if defined(FRSKY)
|
||||
resetTelemetry();
|
||||
telemetryReset();
|
||||
#endif
|
||||
for (uint8_t i=0; i<NUM_LOGICAL_SWITCH; i++) {
|
||||
csLastValue[i] = CS_LAST_VALUE_INIT;
|
||||
|
@ -1873,14 +1873,14 @@ void evalFunctions()
|
|||
switch (CFN_PARAM(sd)) {
|
||||
case FUNC_RESET_TIMER1:
|
||||
case FUNC_RESET_TIMER2:
|
||||
resetTimer(CFN_PARAM(sd));
|
||||
timerReset(CFN_PARAM(sd));
|
||||
break;
|
||||
case FUNC_RESET_ALL:
|
||||
resetAll();
|
||||
case FUNC_RESET_FLIGHT:
|
||||
flightReset();
|
||||
break;
|
||||
#if defined(FRSKY)
|
||||
case FUNC_RESET_TELEMETRY:
|
||||
resetTelemetry();
|
||||
telemetryReset();
|
||||
break;
|
||||
#endif
|
||||
#if ROTARY_ENCODERS > 0
|
||||
|
@ -2483,7 +2483,7 @@ void opentxStart()
|
|||
void opentxClose()
|
||||
{
|
||||
#if defined(FRSKY)
|
||||
FRSKY_End();
|
||||
// TODO needed? telemetryEnd();
|
||||
#endif
|
||||
|
||||
#if defined(SDCARD)
|
||||
|
@ -3014,26 +3014,6 @@ ISR(TIMER3_CAPT_vect) // G: High frequency noise can cause stack overflo with IS
|
|||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
USART0 Transmit Data Register Emtpy ISR
|
||||
Used to transmit FrSky data packets and DSM2 protocol
|
||||
*/
|
||||
|
||||
// TODO serial_arm and serial_avr
|
||||
|
||||
#if defined(FRSKY) && !defined(CPUARM)
|
||||
// TODO in frsky.cpp?
|
||||
FORCEINLINE void FRSKY_USART0_vect()
|
||||
{
|
||||
if (frskyTxBufferCount > 0) {
|
||||
UDR0 = frskyTxBuffer[--frskyTxBufferCount];
|
||||
}
|
||||
else {
|
||||
UCSR0B &= ~(1 << UDRIE0); // disable UDRE0 interrupt
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(DSM2_SERIAL) && !defined(CPUARM)
|
||||
FORCEINLINE void DSM2_USART0_vect()
|
||||
{
|
||||
|
@ -3048,7 +3028,20 @@ FORCEINLINE void DSM2_USART0_vect()
|
|||
#endif
|
||||
|
||||
#if !defined(SIMU) && !defined(CPUARM)
|
||||
|
||||
#if defined (FRSKY) || defined(DSM2_SERIAL)
|
||||
|
||||
// USART0 Transmit Data Register Emtpy ISR
|
||||
FORCEINLINE void FRSKY_USART0_vect()
|
||||
{
|
||||
if (frskyTxBufferCount > 0) {
|
||||
UDR0 = frskyTxBuffer[--frskyTxBufferCount];
|
||||
}
|
||||
else {
|
||||
UCSR0B &= ~(1 << UDRIE0); // disable UDRE0 interrupt
|
||||
}
|
||||
}
|
||||
|
||||
ISR(USART0_UDRE_vect)
|
||||
{
|
||||
#if defined(FRSKY) && defined(DSM2_SERIAL)
|
||||
|
@ -3444,10 +3437,10 @@ int main(void)
|
|||
|
||||
lcdSetRefVolt(25);
|
||||
|
||||
sei(); // interrupts needed for FRSKY_Init and eeReadAll.
|
||||
sei(); // interrupts needed for telemetryInit and eeReadAll.
|
||||
|
||||
#if defined(FRSKY) && !defined(DSM2_SERIAL)
|
||||
FRSKY_Init();
|
||||
telemetryInit();
|
||||
#endif
|
||||
|
||||
#if defined(DSM2_SERIAL) && !defined(FRSKY)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue