mirror of
https://github.com/opentx/opentx.git
synced 2025-07-18 05:45:21 +03:00
Mega2560 target didn't compile
This commit is contained in:
parent
36660505d2
commit
2237de99ed
5 changed files with 33 additions and 34 deletions
|
@ -301,7 +301,6 @@ FORCEINLINE void readKeysAndTrims()
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ROTARY_ENCODERS <= 2
|
|
||||||
ISR(INT2_vect)
|
ISR(INT2_vect)
|
||||||
{
|
{
|
||||||
uint8_t input = (PIND & 0x0C);
|
uint8_t input = (PIND & 0x0C);
|
||||||
|
@ -313,7 +312,6 @@ ISR(INT3_vect)
|
||||||
uint8_t input = (PIND & 0x0C);
|
uint8_t input = (PIND & 0x0C);
|
||||||
if (input == 0 || input == 0x0C) incRotaryEncoder(0, +1);
|
if (input == 0 || input == 0x0C) incRotaryEncoder(0, +1);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
ISR(INT5_vect)
|
ISR(INT5_vect)
|
||||||
{
|
{
|
||||||
|
|
|
@ -193,13 +193,8 @@ void pwrOff();
|
||||||
#define HAPTIC_OFF() PORTD |= (1 << OUT_D_HAPTIC)
|
#define HAPTIC_OFF() PORTD |= (1 << OUT_D_HAPTIC)
|
||||||
|
|
||||||
// Rotary encoder driver
|
// Rotary encoder driver
|
||||||
#if ROTARY_ENCODERS <= 2
|
#define REA_DOWN() (~PIND & 0x20)
|
||||||
#define REA_DOWN() (~PIND & 0x20)
|
#define REB_DOWN() (~PIND & 0x10)
|
||||||
#define REB_DOWN() (~PIND & 0x10)
|
|
||||||
#else
|
|
||||||
#define REA_DOWN() (0)
|
|
||||||
#define REB_DOWN() (0)
|
|
||||||
#endif
|
|
||||||
#define ROTENC_DOWN() (REA_DOWN() || REB_DOWN())
|
#define ROTENC_DOWN() (REA_DOWN() || REB_DOWN())
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -116,12 +116,6 @@ void pwrOff()
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ROTARY_ENCODERS <= 2
|
|
||||||
#define ROTENC_DOWN() ((~PIND & 0x20) || (~PIND & 0x10))
|
|
||||||
#else
|
|
||||||
#define ROTENC_DOWN() (0)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
FORCEINLINE uint8_t keyDown()
|
FORCEINLINE uint8_t keyDown()
|
||||||
{
|
{
|
||||||
return ((~PINL) & 0x3F) || ROTENC_DOWN();
|
return ((~PINL) & 0x3F) || ROTENC_DOWN();
|
||||||
|
@ -196,6 +190,24 @@ bool switchState(EnumKeys enuk)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Trim switches ...
|
||||||
|
static const pm_uchar crossTrim[] PROGMEM ={
|
||||||
|
1<<INP_F_TRM_LH_DWN,
|
||||||
|
1<<INP_F_TRM_LH_UP,
|
||||||
|
1<<INP_F_TRM_LV_DWN,
|
||||||
|
1<<INP_F_TRM_LV_UP,
|
||||||
|
1<<INP_F_TRM_RV_DWN,
|
||||||
|
1<<INP_F_TRM_RV_UP,
|
||||||
|
1<<INP_F_TRM_RH_DWN,
|
||||||
|
1<<INP_F_TRM_RH_UP
|
||||||
|
};
|
||||||
|
|
||||||
|
uint8_t trimDown(uint8_t idx)
|
||||||
|
{
|
||||||
|
uint8_t in = ~PIND;
|
||||||
|
return (in & pgm_read_byte(crossTrim+idx));
|
||||||
|
}
|
||||||
|
|
||||||
FORCEINLINE void readKeysAndTrims()
|
FORCEINLINE void readKeysAndTrims()
|
||||||
{
|
{
|
||||||
/* Original keys were connected to PORTB as follows:
|
/* Original keys were connected to PORTB as follows:
|
||||||
|
@ -213,40 +225,28 @@ FORCEINLINE void readKeysAndTrims()
|
||||||
|
|
||||||
uint8_t enuk = KEY_MENU;
|
uint8_t enuk = KEY_MENU;
|
||||||
|
|
||||||
keys[BTN_REa].input(~PIND & 0x20, BTN_REa);
|
// User buttons ...
|
||||||
keys[BTN_REb].input(~PIND & 0x10, BTN_REb);
|
|
||||||
|
|
||||||
uint8_t tin = ~PINL;
|
uint8_t tin = ~PINL;
|
||||||
uint8_t in;
|
uint8_t in;
|
||||||
in = (tin & 0x0f) << 3;
|
in = (tin & 0x0f) << 3;
|
||||||
in |= (tin & 0x30) >> 3;
|
in |= (tin & 0x30) >> 3;
|
||||||
|
|
||||||
for (int i=1; i<7; i++)
|
for (int i=1; i<7; i++) {
|
||||||
{
|
|
||||||
//INP_B_KEY_MEN 1 .. INP_B_KEY_LFT 6
|
//INP_B_KEY_MEN 1 .. INP_B_KEY_LFT 6
|
||||||
keys[enuk].input(in & (1<<i),(EnumKeys)enuk);
|
keys[enuk].input(in & (1<<i),(EnumKeys)enuk);
|
||||||
++enuk;
|
++enuk;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trim switches ...
|
// Trims ...
|
||||||
static const pm_uchar crossTrim[] PROGMEM ={
|
|
||||||
1<<INP_F_TRM_LH_DWN,
|
|
||||||
1<<INP_F_TRM_LH_UP,
|
|
||||||
1<<INP_F_TRM_LV_DWN,
|
|
||||||
1<<INP_F_TRM_LV_UP,
|
|
||||||
1<<INP_F_TRM_RV_DWN,
|
|
||||||
1<<INP_F_TRM_RV_UP,
|
|
||||||
1<<INP_F_TRM_RH_DWN,
|
|
||||||
1<<INP_F_TRM_RH_UP
|
|
||||||
};
|
|
||||||
|
|
||||||
in = ~PINF;
|
in = ~PINF;
|
||||||
|
|
||||||
for (int i=0; i<8; i++) {
|
for (int i=0; i<8; i++) {
|
||||||
// INP_D_TRM_RH_UP 0 .. INP_D_TRM_LH_UP 7
|
// INP_D_TRM_RH_UP 0 .. INP_D_TRM_LH_UP 7
|
||||||
keys[enuk].input(in & pgm_read_byte(crossTrim+i),(EnumKeys)enuk);
|
keys[enuk].input(in & pgm_read_byte(crossTrim+i),(EnumKeys)enuk);
|
||||||
++enuk;
|
++enuk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
keys[BTN_REa].input(REA_DOWN(), BTN_REa);
|
||||||
|
keys[BTN_REb].input(REB_DOWN(), BTN_REb);
|
||||||
}
|
}
|
||||||
|
|
||||||
ISR(INT2_vect)
|
ISR(INT2_vect)
|
||||||
|
|
|
@ -194,4 +194,9 @@ void pwrOff();
|
||||||
#define HAPTIC_ON() PORTD &= ~(1 << OUT_D_HAPTIC)
|
#define HAPTIC_ON() PORTD &= ~(1 << OUT_D_HAPTIC)
|
||||||
#define HAPTIC_OFF() PORTD |= (1 << OUT_D_HAPTIC)
|
#define HAPTIC_OFF() PORTD |= (1 << OUT_D_HAPTIC)
|
||||||
|
|
||||||
|
// Rotary encoder driver
|
||||||
|
#define REA_DOWN() (~PIND & 0x20)
|
||||||
|
#define REB_DOWN() (~PIND & 0x10)
|
||||||
|
#define ROTENC_DOWN() (REA_DOWN() || REB_DOWN())
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -225,6 +225,7 @@ extern void rxPdcUsart( void (*pChProcess)(uint8_t x) );
|
||||||
#define PINC ~pinc
|
#define PINC ~pinc
|
||||||
#define PIND ~pind
|
#define PIND ~pind
|
||||||
#define PINE ~pine
|
#define PINE ~pine
|
||||||
|
#define PINF ~pinf
|
||||||
#define PING ~ping
|
#define PING ~ping
|
||||||
#define PINH ~pinh
|
#define PINH ~pinh
|
||||||
#define PINJ ~pinj
|
#define PINJ ~pinj
|
||||||
|
@ -334,7 +335,7 @@ extern uint32_t Master_frequency;
|
||||||
#define __enable_irq()
|
#define __enable_irq()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern volatile unsigned char pina, pinb, pinc, pind, pine, ping, pinh, pinj, pinl;
|
extern volatile unsigned char pina, pinb, pinc, pind, pine, pinf, ping, pinh, pinj, pinl;
|
||||||
extern uint8_t portb, portc, porth, dummyport;
|
extern uint8_t portb, portc, porth, dummyport;
|
||||||
extern uint16_t dummyport16;
|
extern uint16_t dummyport16;
|
||||||
extern uint8_t main_thread_running;
|
extern uint8_t main_thread_running;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue