mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-19 06:15:16 +03:00
temporarily removed throttle calibration. broken until further notice.
implemented channel order selection (map in cli). example "map AETR1234" -> ail, ele, throttle, rudder, aux1234. thanks simon for all the halp on this one. truly a mindfuck. git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@126 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
This commit is contained in:
parent
670390e7a6
commit
0534444b2d
8 changed files with 2421 additions and 2844 deletions
41
src/cli.c
41
src/cli.c
|
@ -7,6 +7,7 @@ static void cliDefaults(char *cmdline);
|
|||
static void cliExit(char *cmdline);
|
||||
static void cliFeature(char *cmdline);
|
||||
static void cliHelp(char *cmdline);
|
||||
static void cliMap(char *cmdline);
|
||||
static void cliMixer(char *cmdline);
|
||||
static void cliSave(char *cmdline);
|
||||
static void cliSet(char *cmdline);
|
||||
|
@ -16,6 +17,9 @@ static void cliVersion(char *cmdline);
|
|||
// from sensors.c
|
||||
extern uint8_t batteryCellCount;
|
||||
|
||||
// from config.c RC Channel mapping
|
||||
extern const char rcChannelLetters[];
|
||||
|
||||
// buffer
|
||||
static char cliBuffer[32];
|
||||
static uint8_t bufferIndex = 0;
|
||||
|
@ -47,6 +51,7 @@ const clicmd_t cmdTable[] = {
|
|||
{ "exit", "", cliExit },
|
||||
{ "feature", "list or -val or val", cliFeature },
|
||||
{ "help", "", cliHelp },
|
||||
{ "map", "mapping of first 4 channels", cliMap },
|
||||
{ "mixer", "mixer name or list", cliMixer },
|
||||
{ "save", "save and reboot", cliSave },
|
||||
{ "set", "name=value or blank for list", cliSet },
|
||||
|
@ -245,6 +250,42 @@ static void cliHelp(char *cmdline)
|
|||
}
|
||||
}
|
||||
|
||||
static void cliMap(char *cmdline)
|
||||
{
|
||||
uint8_t len;
|
||||
uint8_t i;
|
||||
char out[9];
|
||||
|
||||
len = strlen(cmdline);
|
||||
|
||||
if (len == 0 || len != 8) {
|
||||
uartPrint("Current assignment: ");
|
||||
for (i = 0; i < 8; i++)
|
||||
out[cfg.rcmap[i]] = rcChannelLetters[i];
|
||||
out[i] = '\0';
|
||||
uartPrint(out);
|
||||
uartPrint("\r\n");
|
||||
return;
|
||||
} else {
|
||||
bool fail = false;
|
||||
// uppercase it
|
||||
for (i = 0; i < 8; i++) {
|
||||
cmdline[i] = toupper(cmdline[i]);
|
||||
if (!strchr(rcChannelLetters, cmdline[i])) {
|
||||
fail = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (fail)
|
||||
uartPrint("Must be any order of AETR1234\r\n");
|
||||
else {
|
||||
parseRcChannels(cmdline);
|
||||
cliMap("");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void cliMixer(char *cmdline)
|
||||
{
|
||||
uint8_t i;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue