[Voice] Slider for the audio volume

[Sky9x] Defaut audio volume is 12 (max is 23)
Issue 166 continued
This commit is contained in:
bsongis
2013-01-22 11:21:14 +00:00
parent 12ca975280
commit a626ea2ceb
17 changed files with 243 additions and 128 deletions
+2 -2
View File
@@ -124,8 +124,6 @@ extern uint16_t sessionTimer;
void eeWriteBlockCmp(const void *pointer_ram, uint16_t pointer_eeprom, size_t size);
#endif
#define NUM_VOL_LEVELS 24
void audioInit( void ) ;
void audioEnd( void ) ;
@@ -145,6 +143,8 @@ inline void dacStop()
{
}
#define VOLUME_LEVEL_MAX 23
#define VOLUME_LEVEL_DEF 12
inline void setVolume( register uint8_t volume )
{
}
+36 -28
View File
@@ -79,21 +79,34 @@ const MenuFuncP_PROGMEM menuTabDiag[] PROGMEM = {
#define RADIO_SETUP_DATE_COLUMN (FW*15+5)
#endif
#if defined(GRAPHICS)
void displaySlider(uint8_t x, uint8_t y, uint8_t value, uint8_t attr)
{
lcd_putc(RADIO_SETUP_2ND_COLUMN+2*FW+(value*FW), y, '$');
lcd_hline(RADIO_SETUP_2ND_COLUMN, y+3, 5*FW-1, SOLID);
if (attr && (!(attr & BLINK) || !BLINK_ON_PHASE)) lcd_filled_rect(RADIO_SETUP_2ND_COLUMN, y, 5*FW-1, FH-1);
}
#define SLIDER(y, value, min, max, label, values, event, attr) { \
int8_t tmp = value; \
displaySlider(RADIO_SETUP_2ND_COLUMN, y, tmp, attr); \
value = selectMenuItem(RADIO_SETUP_2ND_COLUMN, y, label, NULL, tmp, min, max, attr, event); \
}
#if !defined(CPUM64)
void displaySlider(uint8_t x, uint8_t y, uint8_t value, uint8_t max, uint8_t attr)
{
lcd_putc(RADIO_SETUP_2ND_COLUMN+(value*4*FW)/max, y, '$');
lcd_hline(RADIO_SETUP_2ND_COLUMN, y+3, 5*FW-1, SOLID);
if (attr && (!(attr & BLINK) || !BLINK_ON_PHASE)) lcd_filled_rect(RADIO_SETUP_2ND_COLUMN, y, 5*FW-1, FH-1);
}
#define SLIDER_5POS(y, value, label, event, attr) { \
int8_t tmp = value; \
displaySlider(RADIO_SETUP_2ND_COLUMN, y, 2+tmp, 4, attr); \
value = selectMenuItem(RADIO_SETUP_2ND_COLUMN, y, label, NULL, tmp, -2, +2, attr, event); \
}
#elif defined(GRAPHICS)
void display5posSlider(uint8_t x, uint8_t y, uint8_t value, uint8_t attr)
{
lcd_putc(RADIO_SETUP_2ND_COLUMN+2*FW+(value*FW), y, '$');
lcd_hline(RADIO_SETUP_2ND_COLUMN, y+3, 5*FW-1, SOLID);
if (attr && (!(attr & BLINK) || !BLINK_ON_PHASE)) lcd_filled_rect(RADIO_SETUP_2ND_COLUMN, y, 5*FW-1, FH-1);
}
#define SLIDER_5POS(y, value, label, event, attr) { \
int8_t tmp = value; \
display5posSlider(RADIO_SETUP_2ND_COLUMN, y, tmp, attr); \
value = selectMenuItem(RADIO_SETUP_2ND_COLUMN, y, label, NULL, tmp, -2, +2, attr, event); \
}
#define displaySlider(x, y, value, max, attr) lcd_outdezAtt(x, y, value, attr|LEFT)
#else
#define SLIDER(y, value, min, max, label, values, event, attr) \
value = selectMenuItem(RADIO_SETUP_2ND_COLUMN, y, label, values, value, min, max, attr, event)
#define SLIDER_5POS(y, value, label, event, attr) value = selectMenuItem(RADIO_SETUP_2ND_COLUMN, y, label, STR_VBEEPLEN, value, -2, +2, attr, event)
#define displaySlider(x, y, value, max, attr) lcd_outdezAtt(x, y, value, attr|LEFT)
#endif
enum menuGeneralSetupItems {
@@ -228,7 +241,7 @@ void menuGeneralSetup(uint8_t event)
break;
case ITEM_SETUP_BEEPER_LENGTH:
SLIDER(y, g_eeGeneral.beeperLength, -2, 2, STR_LENGTH, STR_VBEEPLEN, event, attr);
SLIDER_5POS(y, g_eeGeneral.beeperLength, STR_LENGTH, event, attr);
break;
#if defined(AUDIO)
@@ -245,22 +258,17 @@ void menuGeneralSetup(uint8_t event)
case ITEM_SETUP_SPEAKER_VOLUME:
{
lcd_putsLeft(y, STR_SPEAKER_VOLUME);
#if defined(CPUARM)
lcd_outdezAtt(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.speakerVolume, attr|LEFT);
uint8_t b = g_eeGeneral.speakerVolume+VOLUME_LEVEL_DEF;
displaySlider(RADIO_SETUP_2ND_COLUMN, y, b, VOLUME_LEVEL_MAX, attr);
if (attr) {
CHECK_INCDEC_GENVAR(event, g_eeGeneral.speakerVolume, 0, NUM_VOL_LEVELS-1);
}
#else
uint8_t b = g_eeGeneral.speakerVolume+7;
lcd_outdezAtt(RADIO_SETUP_2ND_COLUMN, y, b, attr|LEFT);
if (attr) {
CHECK_INCDEC_GENVAR(event, b, 0, 7);
CHECK_INCDEC_GENVAR(event, b, 0, VOLUME_LEVEL_MAX);
if (checkIncDec_Ret) {
g_eeGeneral.speakerVolume = (int8_t)b-7;
SET_VOLUME(b);
g_eeGeneral.speakerVolume = (int8_t)b-VOLUME_LEVEL_DEF;
#if !defined(CPUARM)
setVolume(b);
#endif
}
}
#endif
break;
}
#endif
@@ -275,7 +283,7 @@ void menuGeneralSetup(uint8_t event)
break;
case ITEM_SETUP_HAPTIC_LENGTH:
SLIDER(y, g_eeGeneral.hapticLength, -2, 2, STR_LENGTH, STR_VBEEPLEN, event, attr);
SLIDER_5POS(y, g_eeGeneral.hapticLength, STR_LENGTH, event, attr);
break;
case ITEM_SETUP_HAPTIC_STRENGTH:
+3 -1
View File
@@ -46,4 +46,6 @@ extern bool isPlaying(uint8_t id);
#define IS_PLAYING(id) isPlaying((id))
#define PLAY_VALUE(v, id) playValue((v), (id))
#define SET_VOLUME(v)
#define VOLUME_LEVEL_MAX 7
#define VOLUME_LEVEL_DEF 7
#define setVolume(v)
+1 -1
View File
@@ -106,7 +106,7 @@ enum BeeperMode {
#if defined(CPUARM)
#define EXTRA_GENERAL_FIELDS \
uint8_t speakerVolume; \
int8_t speakerVolume; \
uint8_t backlightBright; \
int8_t currentCalib; \
int8_t temperatureWarn; \
+6 -5
View File
@@ -2177,7 +2177,7 @@ void evalFunctions()
}
}
else if (sd->func == FUNC_VOLUME) {
requiredSpeakerVolume = ((1024 + getValue(FSW_PARAM(sd))) * NUM_VOL_LEVELS) / 2048;
requiredSpeakerVolume = ((1024 + getValue(FSW_PARAM(sd))) * VOLUME_LEVEL_MAX) / 2048;
}
#elif defined(VOICE)
else if (sd->func == FUNC_PLAY_TRACK) {
@@ -2888,7 +2888,7 @@ void doMixerCalculations()
}
#if defined(CPUARM)
requiredSpeakerVolume = g_eeGeneral.speakerVolume;
requiredSpeakerVolume = g_eeGeneral.speakerVolume + VOLUME_LEVEL_DEF;
#endif
evalFunctions();
@@ -3436,11 +3436,12 @@ inline void open9xInit(OPEN9X_INIT_ARGS)
eeReadAll();
#if defined(VOICE)
setVolume(g_eeGeneral.speakerVolume+VOLUME_LEVEL_DEF);
#endif
#if defined(CPUARM)
setVolume(g_eeGeneral.speakerVolume);
setBacklight(g_eeGeneral.backlightBright);
#elif defined(VOICE)
SET_VOLUME(g_eeGeneral.speakerVolume+7);
#endif
#if defined(PCBSKY9X)
+2 -2
View File
@@ -165,7 +165,7 @@ void audioEnd()
PMC->PMC_PCER0 &= ~0x40000000L ; // Disable peripheral clock to DAC
}
static const int8_t volumeScale[NUM_VOL_LEVELS] =
static const int8_t volumeScale[VOLUME_LEVEL_MAX+1] =
{
0, 2, 4, 6, 8, 10, 13, 17, 22, 27, 33, 40,
64, 82, 96, 105, 112, 117, 120, 122, 124, 125, 126, 127
@@ -173,7 +173,7 @@ static const int8_t volumeScale[NUM_VOL_LEVELS] =
void setVolume(uint8_t volume)
{
coprocVolumeRequired = volumeScale[min<uint8_t>(volume, NUM_VOL_LEVELS-1)];
coprocVolumeRequired = volumeScale[min<uint8_t>(volume, VOLUME_LEVEL_MAX)];
__disable_irq() ;
coprocCheck() ;
__enable_irq() ;
+2 -2
View File
@@ -35,8 +35,6 @@
#ifndef audio_driver_h
#define audio_driver_h
#define NUM_VOL_LEVELS 24
void audioInit( void ) ;
void audioEnd( void ) ;
@@ -57,6 +55,8 @@ inline void dacStop()
DACC->DACC_IDR = DACC_IDR_ENDTX ; // Disable interrupt
}
#define VOLUME_LEVEL_MAX 23
#define VOLUME_LEVEL_DEF 12
void setVolume(uint8_t volume);
inline void dacFill(uint16_t *data, uint16_t size)
+3 -1
View File
@@ -75,7 +75,9 @@ extern void pushPrompt16(uint16_t value);
extern struct t_voice *voiceaddress( void ) ;
extern struct t_voice Voice ;
#define SET_VOLUME(v) pushPrompt16((v) | 0xFFF0)
#define VOLUME_LEVEL_MAX 7
#define VOLUME_LEVEL_DEF 7
#define setVolume(v) pushPrompt16((v) | 0xFFF0)
inline bool isPlaying()
{
+10 -1
View File
@@ -216,7 +216,16 @@
#else
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "Sm\203r""V\212\207k""Plyn""K\206id""Pot1""Pot2""Pot3" TR_ROTARY_ENCODERS_VSRCRAW "TrmS" "TrmV" "TrmP" "TrmK" "MAX ""3POS" TR_CYC_VSRCRAW
#if defined (P13POS)
#define TR_VSRCRAW "Sm\203r""V\212\207k""Plyn""K\206id""3PO2""Pot2""Pot3" TR_ROTARY_ENCODERS_VSRCRAW "TrmS" "TrmV" "TrmP" "TrmK" "MAX ""3PO1" TR_CYC_VSRCRAW
#elif defined (P23POS)
#define TR_VSRCRAW "Sm\203r""V\212\207k""Plyn""K\206id""Pot1""3PO2""Pot3" TR_ROTARY_ENCODERS_VSRCRAW "TrmS" "TrmV" "TrmP" "TrmK" "MAX ""3PO1" TR_CYC_VSRCRAW
#elif defined (P33POS)
#define TR_VSRCRAW "Sm\203r""V\212\207k""Plyn""K\206id""Pot1""Pot3""3PO2" TR_ROTARY_ENCODERS_VSRCRAW "TrmS" "TrmV" "TrmP" "TrmK" "MAX ""3PO1" TR_CYC_VSRCRAW
#elseN
#define TR_VSRCRAW "Sm\203r""V\212\207k""Plyn""K\206id""Pot1""Pot2""Pot3" TR_ROTARY_ENCODERS_VSRCRAW "TrmS" "TrmV" "TrmP" "TrmK" "MAX ""3POS" TR_CYC_VSRCRAW
#endif
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "VYP""ABS""THs""TH%""THt"
+10 -1
View File
@@ -217,7 +217,16 @@
#else
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "StR\0""H\203R\0""Gas\0""QuR\0""P1\0 ""P2\0 ""P3\0 " TR_ROTARY_ENCODERS_VSRCRAW "TrmS" "TrmH" "TrmG" "TrmQ" "MAX\0""3POS" TR_CYC_VSRCRAW
#if defined (P13POS)
#define TR_VSRCRAW "StR\0""H\203R\0""Gas\0""QuR\0""3PO2""P2\0 ""P3\0 " TR_ROTARY_ENCODERS_VSRCRAW "TrmS" "TrmH" "TrmG" "TrmQ" "MAX\0""3PO1" TR_CYC_VSRCRAW
#elif defined (P23POS)
#define TR_VSRCRAW "StR\0""H\203R\0""Gas\0""QuR\0""P1\0 ""3PO2""P3\0 " TR_ROTARY_ENCODERS_VSRCRAW "TrmS" "TrmH" "TrmG" "TrmQ" "MAX\0""3PO1" TR_CYC_VSRCRAW
#elif defined (P33POS)
#define TR_VSRCRAW "StR\0""H\203R\0""Gas\0""QuR\0""P1\0 ""P2\0 ""3PO2" TR_ROTARY_ENCODERS_VSRCRAW "TrmS" "TrmH" "TrmG" "TrmQ" "MAX\0""3PO1" TR_CYC_VSRCRAW
#else
#define TR_VSRCRAW "StR\0""H\203R\0""Gas\0""QuR\0""P1\0 ""P2\0 ""P3\0 " TR_ROTARY_ENCODERS_VSRCRAW "TrmS" "TrmH" "TrmG" "TrmQ" "MAX\0""3POS" TR_CYC_VSRCRAW
#endif
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "AUS""ABS""GSs""GS%""GSt"
+106 -75
View File
@@ -36,34 +36,39 @@
#define TR_VTRIMINC TR("Expo ""ExFine""Fine ""Medium""Coarse","Exponential""Extra Fine ""Fine ""Medium ""Coarse ")
#define LEN_RETA123 "\001"
#if defined(PCBGRUVIN9X)
#if ROTARY_ENCODERS > 2
#define TR_RETA123 "RETA123abcd"
#else
#define TR_RETA123 "RETA123ab"
#endif
#if ROTARY_ENCODERS > 2
#define TR_RETA123 "RETA123abcd"
#else
#define TR_RETA123 "RETA123ab"
#endif
#elif defined(PCBX9D)
#define TR_RETA123 "RETA12LR"
#define TR_RETA123 "RETA12LR"
#else
#define TR_RETA123 "RETA123"
#define TR_RETA123 "RETA123"
#endif
#define LEN_VPROTOS "\006"
#ifdef PXX
#define TR_PXX "PXX\0 "
#if defined(PXX)
#define TR_PXX "PXX\0 "
#else
#define TR_PXX "[PXX]\0"
#define TR_PXX "[PXX]\0"
#endif
#ifdef DSM2
#define TR_DSM2 "DSM2\0 "
#if defined(DSM2)
#define TR_DSM2 "DSM2\0 "
#else
#define TR_DSM2 "[DSM2]"
#define TR_DSM2 "[DSM2]"
#endif
#ifdef IRPROTOS
#define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0"
#if defined(IRPROTOS)
#define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0"
#else
#define TR_IRPROTOS
#define TR_IRPROTOS
#endif
#define TR_VPROTOS "PPM\0 ""PPM16\0""PPMsim" TR_PXX TR_DSM2 TR_IRPROTOS
#define LEN_POSNEG "\003"
@@ -85,58 +90,65 @@
#define TR_VCSWFUNC "---\0 ""v>ofs\0 ""v<ofs\0 ""|v|>ofs\0""|v|<ofs\0""AND\0 ""OR\0 ""XOR\0 ""v1==v2\0 ""v1!=v2\0 ""v1>v2\0 ""v1<v2\0 ""v1>=v2\0 ""v1<=v2\0 ""d>=ofs\0 ""|d|>=ofs"
#define LEN_VFSWFUNC "\013"
#if defined(VARIO)
#define TR_VVARIO "Vario\0 "
#define TR_VVARIO "Vario\0 "
#else
#define TR_VVARIO "[Vario]\0 "
#define TR_VVARIO "[Vario]\0 "
#endif
#if defined(AUDIO)
#define TR_SOUND "Play Sound\0"
#define TR_SOUND "Play Sound\0"
#else
#define TR_SOUND "Beep\0 "
#define TR_SOUND "Beep\0 "
#endif
#if defined(HAPTIC)
#define TR_HAPTIC "Haptic\0 "
#define TR_HAPTIC "Haptic\0 "
#else
#define TR_HAPTIC "[Haptic]\0 "
#define TR_HAPTIC "[Haptic]\0 "
#endif
#if defined(VOICE)
#define TR_PLAY_TRACK "Play Track\0"
#define TR_PLAY_VALUE "Play Value\0"
#define TR_PLAY_TRACK "Play Track\0"
#define TR_PLAY_VALUE "Play Value\0"
#else
#define TR_PLAY_TRACK "[PlayTrack]"
#define TR_PLAY_VALUE "[PlayValue]"
#define TR_PLAY_TRACK "[PlayTrack]"
#define TR_PLAY_VALUE "[PlayValue]"
#endif
#if defined(CPUARM)
#if defined(SDCARD)
#define TR_SDCLOGS "SD Logs\0 "
#else
#define TR_SDCLOGS "[SD Logs]\0 "
#endif
#define TR_FSW_VOLUME "Volume\0 "
#define TR_FSW_BG_MUSIC "BgMusic\0 ""BgMusic ||\0"
#if defined(SDCARD)
#define TR_SDCLOGS "SD Logs\0 "
#else
#define TR_SDCLOGS "[SD Logs]\0 "
#endif
#define TR_FSW_VOLUME "Volume\0 "
#define TR_FSW_BG_MUSIC "BgMusic\0 ""BgMusic ||\0"
#elif defined(PCBGRUVIN9X)
#if defined(SDCARD)
#define TR_SDCLOGS "SD Logs\0 "
#if defined(SDCARD)
#define TR_SDCLOGS "SD Logs\0 "
#else
#define TR_SDCLOGS "[SD Logs]\0 "
#endif
#define TR_FSW_VOLUME
#define TR_FSW_BG_MUSIC
#else
#define TR_SDCLOGS "[SD Logs]\0 "
#endif
#define TR_FSW_VOLUME
#define TR_FSW_BG_MUSIC
#else
#define TR_SDCLOGS
#define TR_FSW_VOLUME
#define TR_FSW_BG_MUSIC
#define TR_SDCLOGS
#define TR_FSW_VOLUME
#define TR_FSW_BG_MUSIC
#endif
#ifdef GVARS
#define TR_FSW_ADJUST_GVAR "Adjust \0 "
#define TR_FSW_ADJUST_GVAR "Adjust \0 "
#else
#define TR_FSW_ADJUST_GVAR
#define TR_FSW_ADJUST_GVAR
#endif
#ifdef DEBUG
#define TR_FSW_TEST "Test\0"
#define TR_FSW_TEST "Test\0"
#else
#define TR_FSW_TEST
#define TR_FSW_TEST
#endif
#define TR_VFSWFUNC "Safety\0 ""Trainer \0 ""Inst. Trim\0" TR_SOUND TR_HAPTIC "Reset\0 " TR_VVARIO TR_PLAY_TRACK TR_PLAY_VALUE TR_SDCLOGS TR_FSW_VOLUME "Backlight\0 " TR_FSW_BG_MUSIC TR_FSW_ADJUST_GVAR TR_FSW_TEST
@@ -151,11 +163,11 @@
#define TR_VTELEMCHNS "---\0""Tmr1""Tmr2""Tx\0 ""Rx\0 ""A1\0 ""A2\0 ""Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cur+""Acc\0""Time"
#ifdef IMPERIAL_UNITS
#define LENGTH_UNIT "ft\0"
#define SPEED_UNIT "kts"
#define LENGTH_UNIT "ft\0"
#define SPEED_UNIT "kts"
#else
#define LENGTH_UNIT "m\0 "
#define SPEED_UNIT "kmh"
#define LENGTH_UNIT "m\0 "
#define SPEED_UNIT "kmh"
#endif
#define LEN_VTELEMUNIT "\003"
@@ -199,37 +211,50 @@
#define LEN_VSWITCHES "\003"
#if defined(PCBX9D)
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301""CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC""CSD""CSE""CSF""CSG""CSH""CSI""CSJ""CSK""CSL""CSM""CSN""CSO""CSP""CSQ""CSR""CSS""CST""CSU""CSV""CSW"" ON"
#define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301""CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC""CSD""CSE""CSF""CSG""CSH""CSI""CSJ""CSK""CSL""CSM""CSN""CSO""CSP""CSQ""CSR""CSS""CST""CSU""CSV""CSW"" ON"
#elif defined(PCBSKY9X)
#define TR_VSWITCHES "THR""RUD""ELE""ID0""ID1""ID2""AIL""GEA""TRN""CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC""CSD""CSE""CSF""CSG""CSH""CSI""CSJ""CSK""CSL""CSM""CSN""CSO""CSP""CSQ""CSR""CSS""CST""CSU""CSV""CSW"" ON"
#define TR_VSWITCHES "THR""RUD""ELE""ID0""ID1""ID2""AIL""GEA""TRN""CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC""CSD""CSE""CSF""CSG""CSH""CSI""CSJ""CSK""CSL""CSM""CSN""CSO""CSP""CSQ""CSR""CSS""CST""CSU""CSV""CSW"" ON"
#else
#define TR_VSWITCHES "THR""RUD""ELE""ID0""ID1""ID2""AIL""GEA""TRN""CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC"" ON"
#define TR_VSWITCHES "THR""RUD""ELE""ID0""ID1""ID2""AIL""GEA""TRN""CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC"" ON"
#endif
#define LEN_VSRCRAW "\004"
#if defined(PCBX9D)
#define TR_POTS_VSRCRAW "S1\0 ""S2\0 ""LS\0 ""RS\0 "
#define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SD\0 ""SE\0 ""SF\0 ""SG\0 ""SH\0 "
#define TR_POTS_VSRCRAW "S1\0 ""S2\0 ""LS\0 ""RS\0 "
#define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SD\0 ""SE\0 ""SF\0 ""SG\0 ""SH\0 "
#elif defined (P13POS)
#define TR_POTS_VSRCRAW "3PO2""P2\0 ""P3\0 "
#define TR_SW_VSRCRAW "3PO1"
#elif defined (P23POS)
#define TR_POTS_VSRCRAW "P1\0 ""3PO2""P3\0 "
#define TR_SW_VSRCRAW "3PO1"
#elif defined (P33POS)
#define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""3PO2"
#define TR_SW_VSRCRAW "3PO1"
#else
#define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 "
#define TR_SW_VSRCRAW "3POS"
#define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 "
#define TR_SW_VSRCRAW "3POS"
#endif
#if defined(PCBX9D)
#define TR_ROTARY_ENCODERS_VSRCRAW
#define TR_ROTARY_ENCODERS_VSRCRAW
#elif defined(PCBSKY9X)
#define TR_ROTARY_ENCODERS_VSRCRAW "REa "
#define TR_ROTARY_ENCODERS_VSRCRAW "REa "
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb ""REc ""REd "
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb ""REc ""REd "
#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS <= 2
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb "
#define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb "
#else
#define TR_ROTARY_ENCODERS_VSRCRAW
#define TR_ROTARY_ENCODERS_VSRCRAW
#endif
#if defined(HELI)
#define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3"
#define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3"
#else
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "Rud\0""Ele\0""Thr\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" "MAX " TR_SW_VSRCRAW TR_CYC_VSRCRAW
#define LEN_VTMRMODES "\003"
@@ -250,9 +275,9 @@
#endif
#define OFS_EXIT 7
#if defined(PCBX9D)
#define TR_MENUWHENDONE CENTER"\006[ENTER] WHEN DONE"
#define TR_MENUWHENDONE CENTER"\006[ENTER] WHEN DONE"
#else
#define TR_MENUWHENDONE CENTER"\006[MENU] WHEN DONE"
#define TR_MENUWHENDONE CENTER"\006[MENU] WHEN DONE"
#endif
#define TR_FREE "free"
#define TR_DELETEMODEL "DELETE MODEL"
@@ -345,11 +370,13 @@
#define TR_CAL "Cal"
#define TR_VTRIM "Trim- +"
#define TR_BG "BG:"
#if defined(PCBX9D)
#define TR_MENUTOSTART CENTER"\006[ENTER] TO START"
#define TR_MENUTOSTART CENTER"\006[ENTER] TO START"
#else
#define TR_MENUTOSTART CENTER"\006[MENU] TO START"
#define TR_MENUTOSTART CENTER"\006[MENU] TO START"
#endif
#define TR_SETMIDPOINT CENTER"\003SET STICKS MIDPOINT"
#define TR_MOVESTICKSPOTS CENTER"\006MOVE STICKS/POTS"
#define TR_RXBATT "Rx Batt:"
@@ -364,11 +391,13 @@
#define STR_US (STR_TMR1LATMAXUS+12)
#define TR_TMR1LATMINUS "Tmr1Lat min\006us"
#define TR_TMR1JITTERUS "Tmr1 Jitter\006us"
#if defined(CPUARM)
#define TR_TMIXMAXMS "Tmix max\012ms"
#define TR_TMIXMAXMS "Tmix max\012ms"
#else
#define TR_TMIXMAXMS "Tmix max\014ms"
#define TR_TMIXMAXMS "Tmix max\014ms"
#endif
#define TR_T10MSUS "T10ms\016us"
#define TR_FREESTACKMINB "Free Stack\010b"
#define TR_MENUTORESET "[MENU] to reset"
@@ -399,13 +428,15 @@
#define TR_MENUFLIGHTPHASE "FLIGHT PHASE"
#define TR_MENUFLIGHTPHASES "FLIGHT PHASES"
#define TR_MENUHELISETUP "HELI SETUP"
#if defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ...
#define TR_MENUDREXPO "STICKS"
#define TR_MENULIMITS "OUTPUTS"
#define TR_MENUDREXPO "STICKS"
#define TR_MENULIMITS "OUTPUTS"
#else
#define TR_MENUDREXPO "DR/EXPO"
#define TR_MENULIMITS "LIMITS"
#define TR_MENUDREXPO "DR/EXPO"
#define TR_MENULIMITS "LIMITS"
#endif
#define TR_MENUCURVES "CURVES"
#define TR_MENUCURVE "CURVE"
#define TR_MENUCUSTOMSWITCH "CUSTOM SWITCH"
+10 -1
View File
@@ -209,7 +209,16 @@
#else
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "Dir ""Ele ""Acel""Ail ""P1 ""P2 ""P3 " TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" "MAX ""3POS" TR_CYC_VSRCRAW
#if defined (P13POS)
#define TR_VSRCRAW "Dir ""Ele ""Acel""Ail ""3PO2""P2 ""P3 " TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" "MAX ""3PO1" TR_CYC_VSRCRAW
#elif defined (P23POS)
#define TR_VSRCRAW "Dir ""Ele ""Acel""Ail ""P1 ""3PO2""P3 " TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" "MAX ""3PO1" TR_CYC_VSRCRAW
#elif defined (P33POS)
#define TR_VSRCRAW "Dir ""Ele ""Acel""Ail ""P1 ""P2 ""3PO2" TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" "MAX ""3PO1" TR_CYC_VSRCRAW
#else
#define TR_VSRCRAW "Dir ""Ele ""Acel""Ail ""P1 ""P2 ""P3 " TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" "MAX ""3POS" TR_CYC_VSRCRAW
#endif
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "OFF""ABS""THs""TH%""THt"
+11 -1
View File
@@ -217,7 +217,16 @@
#else
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "Dir\0""Prf\0""Gaz\0""Ail\0""P1\0 ""P2\0 ""P3\0 " TR_ROTARY_ENCODERS_VSRCRAW "TrmD" "TrmP" "TrmG" "TrmA" "MAX\0""3POS" TR_CYC_VSRCRAW
#if defined (P13POS)
#define TR_VSRCRAW "Dir\0""Prf\0""Gaz\0""Ail\0""3PO2""P2\0 ""P3\0 " TR_ROTARY_ENCODERS_VSRCRAW "TrmD" "TrmP" "TrmG" "TrmA" "MAX\0""3PO1" TR_CYC_VSRCRAW
#elif defined (P23POS)
#define TR_VSRCRAW "Dir\0""Prf\0""Gaz\0""Ail\0""P1\0 ""3PO2""P3\0 " TR_ROTARY_ENCODERS_VSRCRAW "TrmD" "TrmP" "TrmG" "TrmA" "MAX\0""3PO1" TR_CYC_VSRCRAW
#elif defined (P33POS)
#define TR_VSRCRAW "Dir\0""Prf\0""Gaz\0""Ail\0""P1\0 ""P2\0 ""3PO2" TR_ROTARY_ENCODERS_VSRCRAW "TrmD" "TrmP" "TrmG" "TrmA" "MAX\0""3PO1" TR_CYC_VSRCRAW
#else
#define TR_VSRCRAW "Dir\0""Prf\0""Gaz\0""Ail\0""P1\0 ""P2\0 ""P3\0 " TR_ROTARY_ENCODERS_VSRCRAW "TrmD" "TrmP" "TrmG" "TrmA" "MAX\0""3POS" TR_CYC_VSRCRAW
#endif
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "OFF""ABS""GZs""GZ%""GZt"
@@ -248,6 +257,7 @@
#define TR_BEEPCTR "Bips Centr"
#define TR_PROTO INDENT"Proto."
#define TR_PPMFRAME "Trame PPM"
#define TR_MS "ms"
#define TR_SWITCH "Inter"
#define TR_BITMAP "Bitmap"
+12 -1
View File
@@ -215,7 +215,18 @@
#else
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "Rud ""Ele ""Thr ""Ail ""P1 ""P2 ""P3 " TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" "MAX ""3POS" TR_CYC_VSRCRAW
#if defined (P13POS)
#define TR_VSRCRAW "Rud ""Ele ""Thr ""Ail ""3PO2""P2 ""P3 " TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" "MAX ""3PO1" TR_CYC_VSRCRAW
#elif defined (P23POS)
#define TR_VSRCRAW "Rud ""Ele ""Thr ""Ail ""P1 ""3PO2""P3 " TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" "MAX ""3PO1" TR_CYC_VSRCRAW
#elif defined (P33POS)
#define TR_VSRCRAW "Rud ""Ele ""Thr ""Ail ""P1 ""P2 ""3PO2" TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" "MAX ""3PO1" TR_CYC_VSRCRAW
#else
#define TR_VSRCRAW "Rud ""Ele ""Thr ""Ail ""P1 ""P2 ""P3 " TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" "MAX ""3POS" TR_CYC_VSRCRAW
#endif
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "OFF""ABS""THs""TH%""THt"
+13 -1
View File
@@ -217,7 +217,18 @@
#else
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "Lem\0""Pfd\0""Mot\0""Ail\0""Pot1""Pot2""Pot3" TR_ROTARY_ENCODERS_VSRCRAW "TrmL" "TrmP" "TrmM" "TrmA" "MAX\0""3POS" TR_CYC_VSRCRAW
#if defined (P13POS)
#define TR_VSRCRAW "Lem\0""Pfd\0""Mot\0""Ail\0""3PO2""Pot2""Pot3" TR_ROTARY_ENCODERS_VSRCRAW "TrmL" "TrmP" "TrmM" "TrmA" "MAX\0""3PO1" TR_CYC_VSRCRAW
#elif defined (P23POS)
#define TR_VSRCRAW "Lem\0""Pfd\0""Mot\0""Ail\0""Pot1""3PO2""Pot3" TR_ROTARY_ENCODERS_VSRCRAW "TrmL" "TrmP" "TrmM" "TrmA" "MAX\0""3PO1" TR_CYC_VSRCRAW
#elif defined (P33POS)
#define TR_VSRCRAW "Lem\0""Pfd\0""Mot\0""Ail\0""Pot1""Pot2""3PO2" TR_ROTARY_ENCODERS_VSRCRAW "TrmL" "TrmP" "TrmM" "TrmA" "MAX\0""3PO1" TR_CYC_VSRCRAW
#else
#define TR_VSRCRAW "Lem\0""Pfd\0""Mot\0""Ail\0""Pot1""Pot2""Pot3" TR_ROTARY_ENCODERS_VSRCRAW "TrmL" "TrmP" "TrmM" "TrmA" "MAX\0""3POS" TR_CYC_VSRCRAW
#endif
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "OFF""ABS""MTs""MT%""MTt"
@@ -250,6 +261,7 @@
#define TR_PPMFRAME "PPM frame"
#define TR_MS "ms"
#define TR_SWITCH "Chave"
#define TR_BITMAP "Bitmap"
#define TR_TRIMS "Trims"
#define TR_FADEIN "Aparecer"
+12 -1
View File
@@ -220,7 +220,18 @@
#else
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "ROD ""H\205J ""GAS ""SKE ""P1 ""P2 ""P3 " TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmH" "TrmG" "TrmS" "MAX ""3POS" TR_CYC_VSRCRAW
#if defined (P13POS)
#define TR_VSRCRAW "ROD ""H\205J ""GAS ""SKE ""3PO2""P2 ""P3 " TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmH" "TrmG" "TrmS" "MAX ""3PO1" TR_CYC_VSRCRAW
#elif defined (P23POS)
#define TR_VSRCRAW "ROD ""H\205J ""GAS ""SKE ""P1 ""3PO2""P3 " TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmH" "TrmG" "TrmS" "MAX ""3PO1" TR_CYC_VSRCRAW
#elif defined (P33POS)
#define TR_VSRCRAW "ROD ""H\205J ""GAS ""SKE ""P1 ""P2 ""3PO2" TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmH" "TrmG" "TrmS" "MAX ""3PO1" TR_CYC_VSRCRAW
#else
#define TR_VSRCRAW "ROD ""H\205J ""GAS ""SKE ""P1 ""P2 ""P3 " TR_ROTARY_ENCODERS_VSRCRAW "TrmR" "TrmH" "TrmG" "TrmS" "MAX ""3POS" TR_CYC_VSRCRAW
#endif
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "AV ""ABS""THs""TH%""THt"
+4 -4
View File
@@ -38,8 +38,6 @@
extern void audioInit( void ) ;
extern void audioEnd( void ) ;
#define NUM_VOL_LEVELS 24
extern void setFrequency( uint32_t frequency ) ;
extern uint32_t getFrequency();
@@ -85,14 +83,16 @@ inline uint16_t dacQueue(uint16_t *data, uint16_t size)
}
}
static const int8_t volumeScale[NUM_VOL_LEVELS] =
#define VOLUME_LEVEL_MAX 23
#define VOLUME_LEVEL_DEF 12
static const int8_t volumeScale[VOLUME_LEVEL_MAX+1] =
{
0, 2, 4, 6, 8, 10, 13, 17, 22, 27, 33, 40,
64, 82, 96, 105, 112, 117, 120, 122, 124, 125, 126, 127
} ;
#if !defined(SIMU)
#define setVolume(v) I2C_set_volume(volumeScale[min<uint8_t>(v, NUM_VOL_LEVELS-1)])
#define setVolume(v) I2C_set_volume(volumeScale[min<uint8_t>(v, VOLUME_LEVEL_MAX)])
#else
#define setVolume(v)
#endif