Some more comments and a little formatting clean up
This commit is contained in:
parent
9c303d6669
commit
414e02d9fe
|
@ -69,7 +69,7 @@ static uint32_t usbVcpAvailable(serialPort_t *instance)
|
||||||
{
|
{
|
||||||
UNUSED(instance);
|
UNUSED(instance);
|
||||||
|
|
||||||
return CDC_Receive_BytesAvailable();
|
return CDC_Receive_BytesAvailable();
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint8_t usbVcpRead(serialPort_t *instance)
|
static uint8_t usbVcpRead(serialPort_t *instance)
|
||||||
|
|
|
@ -1000,8 +1000,8 @@ static void printRxFail(uint8_t dumpMask, master_t *defaultConfig)
|
||||||
for (uint8_t channel = 0; channel < MAX_SUPPORTED_RC_CHANNEL_COUNT; channel++) {
|
for (uint8_t channel = 0; channel < MAX_SUPPORTED_RC_CHANNEL_COUNT; channel++) {
|
||||||
channelFailsafeConfiguration = &masterConfig.rxConfig.failsafe_channel_configurations[channel];
|
channelFailsafeConfiguration = &masterConfig.rxConfig.failsafe_channel_configurations[channel];
|
||||||
channelFailsafeConfigurationDefault = &defaultConfig->rxConfig.failsafe_channel_configurations[channel];
|
channelFailsafeConfigurationDefault = &defaultConfig->rxConfig.failsafe_channel_configurations[channel];
|
||||||
equalsDefault = channelFailsafeConfiguration->mode == channelFailsafeConfigurationDefault->mode
|
equalsDefault = channelFailsafeConfiguration->mode == channelFailsafeConfigurationDefault->mode
|
||||||
&& channelFailsafeConfiguration->step == channelFailsafeConfigurationDefault->step;
|
&& channelFailsafeConfiguration->step == channelFailsafeConfigurationDefault->step;
|
||||||
requireValue = channelFailsafeConfiguration->mode == RX_FAILSAFE_MODE_SET;
|
requireValue = channelFailsafeConfiguration->mode == RX_FAILSAFE_MODE_SET;
|
||||||
modeCharacter = rxFailsafeModeCharacters[channelFailsafeConfiguration->mode];
|
modeCharacter = rxFailsafeModeCharacters[channelFailsafeConfiguration->mode];
|
||||||
if (requireValue) {
|
if (requireValue) {
|
||||||
|
@ -1113,9 +1113,9 @@ static void printAux(uint8_t dumpMask, master_t *defaultConfig)
|
||||||
mac = &masterConfig.modeActivationConditions[i];
|
mac = &masterConfig.modeActivationConditions[i];
|
||||||
macDefault = &defaultConfig->modeActivationConditions[i];
|
macDefault = &defaultConfig->modeActivationConditions[i];
|
||||||
equalsDefault = mac->modeId == macDefault->modeId
|
equalsDefault = mac->modeId == macDefault->modeId
|
||||||
&& mac->auxChannelIndex == macDefault->auxChannelIndex
|
&& mac->auxChannelIndex == macDefault->auxChannelIndex
|
||||||
&& mac->range.startStep == macDefault->range.startStep
|
&& mac->range.startStep == macDefault->range.startStep
|
||||||
&& mac->range.endStep == macDefault->range.endStep;
|
&& mac->range.endStep == macDefault->range.endStep;
|
||||||
cliDumpPrintf(dumpMask, equalsDefault, "aux %u %u %u %u %u\r\n",
|
cliDumpPrintf(dumpMask, equalsDefault, "aux %u %u %u %u %u\r\n",
|
||||||
i,
|
i,
|
||||||
mac->modeId,
|
mac->modeId,
|
||||||
|
@ -1172,17 +1172,17 @@ static void printSerial(uint8_t dumpMask, master_t *defaultConfig)
|
||||||
serialConfig_t *serialConfigDefault;
|
serialConfig_t *serialConfigDefault;
|
||||||
bool equalsDefault;
|
bool equalsDefault;
|
||||||
for (int i = 0; i < SERIAL_PORT_COUNT; i++) {
|
for (int i = 0; i < SERIAL_PORT_COUNT; i++) {
|
||||||
serialConfig = &masterConfig.serialConfig;
|
serialConfig = &masterConfig.serialConfig;
|
||||||
if (!serialIsPortAvailable(serialConfig->portConfigs[i].identifier)) {
|
if (!serialIsPortAvailable(serialConfig->portConfigs[i].identifier)) {
|
||||||
continue;
|
continue;
|
||||||
};
|
};
|
||||||
serialConfigDefault = &defaultConfig->serialConfig;
|
serialConfigDefault = &defaultConfig->serialConfig;
|
||||||
equalsDefault = serialConfig->portConfigs[i].identifier == serialConfigDefault->portConfigs[i].identifier
|
equalsDefault = serialConfig->portConfigs[i].identifier == serialConfigDefault->portConfigs[i].identifier
|
||||||
&& serialConfig->portConfigs[i].functionMask == serialConfigDefault->portConfigs[i].functionMask
|
&& serialConfig->portConfigs[i].functionMask == serialConfigDefault->portConfigs[i].functionMask
|
||||||
&& serialConfig->portConfigs[i].msp_baudrateIndex == serialConfigDefault->portConfigs[i].msp_baudrateIndex
|
&& serialConfig->portConfigs[i].msp_baudrateIndex == serialConfigDefault->portConfigs[i].msp_baudrateIndex
|
||||||
&& serialConfig->portConfigs[i].gps_baudrateIndex == serialConfigDefault->portConfigs[i].gps_baudrateIndex
|
&& serialConfig->portConfigs[i].gps_baudrateIndex == serialConfigDefault->portConfigs[i].gps_baudrateIndex
|
||||||
&& serialConfig->portConfigs[i].telemetry_baudrateIndex == serialConfigDefault->portConfigs[i].telemetry_baudrateIndex
|
&& serialConfig->portConfigs[i].telemetry_baudrateIndex == serialConfigDefault->portConfigs[i].telemetry_baudrateIndex
|
||||||
&& serialConfig->portConfigs[i].blackbox_baudrateIndex == serialConfigDefault->portConfigs[i].blackbox_baudrateIndex;
|
&& serialConfig->portConfigs[i].blackbox_baudrateIndex == serialConfigDefault->portConfigs[i].blackbox_baudrateIndex;
|
||||||
cliDumpPrintf(dumpMask, equalsDefault, "serial %d %d %ld %ld %ld %ld\r\n" ,
|
cliDumpPrintf(dumpMask, equalsDefault, "serial %d %d %ld %ld %ld %ld\r\n" ,
|
||||||
serialConfig->portConfigs[i].identifier,
|
serialConfig->portConfigs[i].identifier,
|
||||||
serialConfig->portConfigs[i].functionMask,
|
serialConfig->portConfigs[i].functionMask,
|
||||||
|
@ -1190,7 +1190,7 @@ static void printSerial(uint8_t dumpMask, master_t *defaultConfig)
|
||||||
baudRates[serialConfig->portConfigs[i].gps_baudrateIndex],
|
baudRates[serialConfig->portConfigs[i].gps_baudrateIndex],
|
||||||
baudRates[serialConfig->portConfigs[i].telemetry_baudrateIndex],
|
baudRates[serialConfig->portConfigs[i].telemetry_baudrateIndex],
|
||||||
baudRates[serialConfig->portConfigs[i].blackbox_baudrateIndex]
|
baudRates[serialConfig->portConfigs[i].blackbox_baudrateIndex]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1202,7 +1202,7 @@ static void cliSerial(char *cmdline)
|
||||||
if (isEmpty(cmdline)) {
|
if (isEmpty(cmdline)) {
|
||||||
printSerial(DUMP_MASTER, &masterConfig);
|
printSerial(DUMP_MASTER, &masterConfig);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
serialPortConfig_t portConfig;
|
serialPortConfig_t portConfig;
|
||||||
memset(&portConfig, 0 , sizeof(portConfig));
|
memset(&portConfig, 0 , sizeof(portConfig));
|
||||||
|
@ -1358,11 +1358,11 @@ static void printAdjustmentRange(uint8_t dumpMask, master_t *defaultConfig)
|
||||||
for (int i = 0; i < MAX_ADJUSTMENT_RANGE_COUNT; i++) {
|
for (int i = 0; i < MAX_ADJUSTMENT_RANGE_COUNT; i++) {
|
||||||
ar = &masterConfig.adjustmentRanges[i];
|
ar = &masterConfig.adjustmentRanges[i];
|
||||||
arDefault = &defaultConfig->adjustmentRanges[i];
|
arDefault = &defaultConfig->adjustmentRanges[i];
|
||||||
equalsDefault = ar->auxChannelIndex == arDefault->auxChannelIndex
|
equalsDefault = ar->auxChannelIndex == arDefault->auxChannelIndex
|
||||||
&& ar->range.startStep == arDefault->range.startStep
|
&& ar->range.startStep == arDefault->range.startStep
|
||||||
&& ar->range.endStep == arDefault->range.endStep
|
&& ar->range.endStep == arDefault->range.endStep
|
||||||
&& ar->adjustmentFunction == arDefault->adjustmentFunction
|
&& ar->adjustmentFunction == arDefault->adjustmentFunction
|
||||||
&& ar->auxSwitchChannelIndex == arDefault->auxSwitchChannelIndex
|
&& ar->auxSwitchChannelIndex == arDefault->auxSwitchChannelIndex
|
||||||
&& ar->adjustmentIndex == arDefault->adjustmentIndex;
|
&& ar->adjustmentIndex == arDefault->adjustmentIndex;
|
||||||
cliDumpPrintf(dumpMask, equalsDefault, "adjrange %u %u %u %u %u %u %u\r\n",
|
cliDumpPrintf(dumpMask, equalsDefault, "adjrange %u %u %u %u %u %u %u\r\n",
|
||||||
i,
|
i,
|
||||||
|
@ -1525,8 +1525,8 @@ static void printRxRange(uint8_t dumpMask, master_t *defaultConfig)
|
||||||
for (int i = 0; i < NON_AUX_CHANNEL_COUNT; i++) {
|
for (int i = 0; i < NON_AUX_CHANNEL_COUNT; i++) {
|
||||||
channelRangeConfiguration = &masterConfig.rxConfig.channelRanges[i];
|
channelRangeConfiguration = &masterConfig.rxConfig.channelRanges[i];
|
||||||
channelRangeConfigurationDefault = &defaultConfig->rxConfig.channelRanges[i];
|
channelRangeConfigurationDefault = &defaultConfig->rxConfig.channelRanges[i];
|
||||||
equalsDefault = channelRangeConfiguration->min == channelRangeConfigurationDefault->min
|
equalsDefault = channelRangeConfiguration->min == channelRangeConfigurationDefault->min
|
||||||
&& channelRangeConfiguration->max == channelRangeConfigurationDefault->max;
|
&& channelRangeConfiguration->max == channelRangeConfigurationDefault->max;
|
||||||
cliDumpPrintf(dumpMask, equalsDefault, "rxrange %u %u %u\r\n", i, channelRangeConfiguration->min, channelRangeConfiguration->max);
|
cliDumpPrintf(dumpMask, equalsDefault, "rxrange %u %u %u\r\n", i, channelRangeConfiguration->min, channelRangeConfiguration->max);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1619,8 +1619,8 @@ static void printColor(uint8_t dumpMask, master_t *defaultConfig)
|
||||||
color = &masterConfig.colors[i];
|
color = &masterConfig.colors[i];
|
||||||
colorDefault = &defaultConfig->colors[i];
|
colorDefault = &defaultConfig->colors[i];
|
||||||
equalsDefault = color->h == colorDefault->h
|
equalsDefault = color->h == colorDefault->h
|
||||||
&& color->s == colorDefault->s
|
&& color->s == colorDefault->s
|
||||||
&& color->v == colorDefault->v;
|
&& color->v == colorDefault->v;
|
||||||
cliDumpPrintf(dumpMask, equalsDefault, "color %u %d,%u,%u\r\n",
|
cliDumpPrintf(dumpMask, equalsDefault, "color %u %d,%u,%u\r\n",
|
||||||
i,
|
i,
|
||||||
color->h,
|
color->h,
|
||||||
|
@ -2121,11 +2121,11 @@ static void printVtx(uint8_t dumpMask, master_t *defaultConfig)
|
||||||
for (int i = 0; i < MAX_CHANNEL_ACTIVATION_CONDITION_COUNT; i++) {
|
for (int i = 0; i < MAX_CHANNEL_ACTIVATION_CONDITION_COUNT; i++) {
|
||||||
cac = &masterConfig.vtxChannelActivationConditions[i];
|
cac = &masterConfig.vtxChannelActivationConditions[i];
|
||||||
cacDefault = &defaultConfig->vtxChannelActivationConditions[i];
|
cacDefault = &defaultConfig->vtxChannelActivationConditions[i];
|
||||||
equalsDefault = cac->auxChannelIndex == cacDefault->auxChannelIndex
|
equalsDefault = cac->auxChannelIndex == cacDefault->auxChannelIndex
|
||||||
&& cac->band == cacDefault->band
|
&& cac->band == cacDefault->band
|
||||||
&& cac->channel == cacDefault->channel
|
&& cac->channel == cacDefault->channel
|
||||||
&& cac->range.startStep == cacDefault->range.startStep
|
&& cac->range.startStep == cacDefault->range.startStep
|
||||||
&& cac->range.endStep == cacDefault->range.endStep;
|
&& cac->range.endStep == cacDefault->range.endStep;
|
||||||
cliDumpPrintf(dumpMask, equalsDefault, "vtx %u %u %u %u %u %u\r\n",
|
cliDumpPrintf(dumpMask, equalsDefault, "vtx %u %u %u %u %u %u\r\n",
|
||||||
i,
|
i,
|
||||||
cac->auxChannelIndex,
|
cac->auxChannelIndex,
|
||||||
|
@ -2246,7 +2246,7 @@ static bool valueEqualsDefault(const clivalue_t *value, master_t *defaultConfig)
|
||||||
|
|
||||||
case VAR_FLOAT:
|
case VAR_FLOAT:
|
||||||
result = *(float *)ptr == *(float *)ptrDefault;
|
result = *(float *)ptr == *(float *)ptrDefault;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -2378,11 +2378,11 @@ static void printConfig(char *cmdline, bool doDiff)
|
||||||
|
|
||||||
equalsDefault = masterConfig.customServoMixer[i].targetChannel == defaultConfig.customServoMixer[i].targetChannel
|
equalsDefault = masterConfig.customServoMixer[i].targetChannel == defaultConfig.customServoMixer[i].targetChannel
|
||||||
&& masterConfig.customServoMixer[i].inputSource == defaultConfig.customServoMixer[i].inputSource
|
&& masterConfig.customServoMixer[i].inputSource == defaultConfig.customServoMixer[i].inputSource
|
||||||
&& masterConfig.customServoMixer[i].rate == defaultConfig.customServoMixer[i].rate
|
&& masterConfig.customServoMixer[i].rate == defaultConfig.customServoMixer[i].rate
|
||||||
&& masterConfig.customServoMixer[i].speed == defaultConfig.customServoMixer[i].speed
|
&& masterConfig.customServoMixer[i].speed == defaultConfig.customServoMixer[i].speed
|
||||||
&& masterConfig.customServoMixer[i].min == defaultConfig.customServoMixer[i].min
|
&& masterConfig.customServoMixer[i].min == defaultConfig.customServoMixer[i].min
|
||||||
&& masterConfig.customServoMixer[i].max == defaultConfig.customServoMixer[i].max
|
&& masterConfig.customServoMixer[i].max == defaultConfig.customServoMixer[i].max
|
||||||
&& masterConfig.customServoMixer[i].box == masterConfig.customServoMixer[i].box;
|
&& masterConfig.customServoMixer[i].box == masterConfig.customServoMixer[i].box;
|
||||||
|
|
||||||
cliDumpPrintf(dumpMask, equalsDefault,"smix %d %d %d %d %d %d %d %d\r\n",
|
cliDumpPrintf(dumpMask, equalsDefault,"smix %d %d %d %d %d %d %d %d\r\n",
|
||||||
i,
|
i,
|
||||||
|
@ -2431,7 +2431,7 @@ static void printConfig(char *cmdline, bool doDiff)
|
||||||
equalsDefault = true;
|
equalsDefault = true;
|
||||||
for (i = 0; i < MAX_MAPPABLE_RX_INPUTS; i++) {
|
for (i = 0; i < MAX_MAPPABLE_RX_INPUTS; i++) {
|
||||||
buf[masterConfig.rxConfig.rcmap[i]] = rcChannelLetters[i];
|
buf[masterConfig.rxConfig.rcmap[i]] = rcChannelLetters[i];
|
||||||
equalsDefault = equalsDefault && (masterConfig.rxConfig.rcmap[i] == defaultConfig.rxConfig.rcmap[i]);
|
equalsDefault = equalsDefault && (masterConfig.rxConfig.rcmap[i] == defaultConfig.rxConfig.rcmap[i]);
|
||||||
}
|
}
|
||||||
buf[i] = '\0';
|
buf[i] = '\0';
|
||||||
cliDumpPrintf(dumpMask, equalsDefault, "map %s\r\n", buf);
|
cliDumpPrintf(dumpMask, equalsDefault, "map %s\r\n", buf);
|
||||||
|
@ -2483,8 +2483,9 @@ static void printConfig(char *cmdline, bool doDiff)
|
||||||
|
|
||||||
uint8_t currentRateIndex = currentProfile->activeRateProfile;
|
uint8_t currentRateIndex = currentProfile->activeRateProfile;
|
||||||
uint8_t rateCount;
|
uint8_t rateCount;
|
||||||
for (rateCount=0; rateCount<MAX_RATEPROFILES; rateCount++)
|
for (rateCount = 0; rateCount < MAX_RATEPROFILES; rateCount++) {
|
||||||
cliDumpRateProfile(rateCount, dumpMask, &defaultConfig);
|
cliDumpRateProfile(rateCount, dumpMask, &defaultConfig);
|
||||||
|
}
|
||||||
|
|
||||||
cliPrint("\r\n# restore original rateprofile selection\r\n");
|
cliPrint("\r\n# restore original rateprofile selection\r\n");
|
||||||
changeControlRateProfile(currentRateIndex);
|
changeControlRateProfile(currentRateIndex);
|
||||||
|
@ -2513,8 +2514,10 @@ static void printConfig(char *cmdline, bool doDiff)
|
||||||
|
|
||||||
static void cliDumpProfile(uint8_t profileIndex, uint8_t dumpMask, master_t *defaultConfig)
|
static void cliDumpProfile(uint8_t profileIndex, uint8_t dumpMask, master_t *defaultConfig)
|
||||||
{
|
{
|
||||||
if (profileIndex >= MAX_PROFILE_COUNT) // Faulty values
|
if (profileIndex >= MAX_PROFILE_COUNT) {
|
||||||
|
// Faulty values
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
changeProfile(profileIndex);
|
changeProfile(profileIndex);
|
||||||
cliPrint("\r\n# profile\r\n");
|
cliPrint("\r\n# profile\r\n");
|
||||||
cliProfile("");
|
cliProfile("");
|
||||||
|
@ -2523,8 +2526,10 @@ static void cliDumpProfile(uint8_t profileIndex, uint8_t dumpMask, master_t *def
|
||||||
|
|
||||||
static void cliDumpRateProfile(uint8_t rateProfileIndex, uint8_t dumpMask, master_t *defaultConfig)
|
static void cliDumpRateProfile(uint8_t rateProfileIndex, uint8_t dumpMask, master_t *defaultConfig)
|
||||||
{
|
{
|
||||||
if (rateProfileIndex >= MAX_RATEPROFILES) // Faulty values
|
if (rateProfileIndex >= MAX_RATEPROFILES) {
|
||||||
|
// Faulty values
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
changeControlRateProfile(rateProfileIndex);
|
changeControlRateProfile(rateProfileIndex);
|
||||||
cliPrint("\r\n# rateprofile\r\n");
|
cliPrint("\r\n# rateprofile\r\n");
|
||||||
cliRateProfile("");
|
cliRateProfile("");
|
||||||
|
@ -2744,8 +2749,9 @@ static void cliMap(char *cmdline)
|
||||||
|
|
||||||
if (len == 8) {
|
if (len == 8) {
|
||||||
// uppercase it
|
// uppercase it
|
||||||
for (i = 0; i < 8; i++)
|
for (i = 0; i < 8; i++) {
|
||||||
cmdline[i] = toupper((unsigned char)cmdline[i]);
|
cmdline[i] = toupper((unsigned char)cmdline[i]);
|
||||||
|
}
|
||||||
for (i = 0; i < 8; i++) {
|
for (i = 0; i < 8; i++) {
|
||||||
if (strchr(rcChannelLetters, cmdline[i]) && !strchr(cmdline + i + 1, cmdline[i]))
|
if (strchr(rcChannelLetters, cmdline[i]) && !strchr(cmdline + i + 1, cmdline[i]))
|
||||||
continue;
|
continue;
|
||||||
|
@ -2755,8 +2761,9 @@ static void cliMap(char *cmdline)
|
||||||
parseRcChannels(cmdline, &masterConfig.rxConfig);
|
parseRcChannels(cmdline, &masterConfig.rxConfig);
|
||||||
}
|
}
|
||||||
cliPrint("Map: ");
|
cliPrint("Map: ");
|
||||||
for (i = 0; i < 8; i++)
|
for (i = 0; i < 8; i++) {
|
||||||
out[masterConfig.rxConfig.rcmap[i]] = rcChannelLetters[i];
|
out[masterConfig.rxConfig.rcmap[i]] = rcChannelLetters[i];
|
||||||
|
}
|
||||||
out[i] = '\0';
|
out[i] = '\0';
|
||||||
cliPrintf("%s\r\n", out);
|
cliPrintf("%s\r\n", out);
|
||||||
}
|
}
|
||||||
|
@ -2952,9 +2959,9 @@ static void cliDefaults(char *cmdline)
|
||||||
|
|
||||||
static void cliPrint(const char *str)
|
static void cliPrint(const char *str)
|
||||||
{
|
{
|
||||||
while (*str) {
|
while (*str) {
|
||||||
bufWriterAppend(cliWriter, *str++);
|
bufWriterAppend(cliWriter, *str++);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void cliPutp(void *p, char ch)
|
static void cliPutp(void *p, char ch)
|
||||||
|
@ -2976,7 +2983,7 @@ static bool cliDumpPrintf(uint8_t dumpMask, bool equalsDefault, const char *form
|
||||||
tfp_format(cliWriter, cliPutp, format, va);
|
tfp_format(cliWriter, cliPutp, format, va);
|
||||||
va_end(va);
|
va_end(va);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -3404,11 +3411,11 @@ void cliProcess(void)
|
||||||
cliBuffer[bufferIndex] = 0; // null terminate
|
cliBuffer[bufferIndex] = 0; // null terminate
|
||||||
|
|
||||||
const clicmd_t *cmd;
|
const clicmd_t *cmd;
|
||||||
char *options;
|
char *options;
|
||||||
for (cmd = cmdTable; cmd < cmdTable + CMD_COUNT; cmd++) {
|
for (cmd = cmdTable; cmd < cmdTable + CMD_COUNT; cmd++) {
|
||||||
if ((options = checkCommand(cliBuffer, cmd->name))) {
|
if ((options = checkCommand(cliBuffer, cmd->name))) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(cmd < cmdTable + CMD_COUNT)
|
if(cmd < cmdTable + CMD_COUNT)
|
||||||
cmd->func(options);
|
cmd->func(options);
|
||||||
|
|
|
@ -24,16 +24,16 @@
|
||||||
/* STM32F4 specific settings that apply to all F4 targets */
|
/* STM32F4 specific settings that apply to all F4 targets */
|
||||||
#ifdef STM32F4
|
#ifdef STM32F4
|
||||||
|
|
||||||
#define MAX_AUX_CHANNELS 99
|
#define MAX_AUX_CHANNELS 99
|
||||||
#define TASK_GYROPID_DESIRED_PERIOD 125
|
#define TASK_GYROPID_DESIRED_PERIOD 125
|
||||||
#define SCHEDULER_DELAY_LIMIT 10
|
#define SCHEDULER_DELAY_LIMIT 10
|
||||||
#define I2C3_OVERCLOCK true
|
#define I2C3_OVERCLOCK true
|
||||||
|
|
||||||
#else /* when not an F4 */
|
#else /* when not an F4 */
|
||||||
|
|
||||||
#define MAX_AUX_CHANNELS 6
|
#define MAX_AUX_CHANNELS 6
|
||||||
#define TASK_GYROPID_DESIRED_PERIOD 1000
|
#define TASK_GYROPID_DESIRED_PERIOD 1000
|
||||||
#define SCHEDULER_DELAY_LIMIT 100
|
#define SCHEDULER_DELAY_LIMIT 100
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -165,7 +165,13 @@ uint32_t CDC_Send_DATA(uint8_t *ptrBuffer, uint8_t sendLength)
|
||||||
|
|
||||||
uint32_t CDC_Send_FreeBytes(void)
|
uint32_t CDC_Send_FreeBytes(void)
|
||||||
{
|
{
|
||||||
/* return the bytes free in the circular buffer */
|
/*
|
||||||
|
return the bytes free in the circular buffer
|
||||||
|
|
||||||
|
functionally equivalent to:
|
||||||
|
(APP_Rx_ptr_out > APP_Rx_ptr_in ? APP_Rx_ptr_out - APP_Rx_ptr_in : APP_RX_DATA_SIZE - APP_Rx_ptr_in + APP_Rx_ptr_in)
|
||||||
|
but without the impact of the condition check.
|
||||||
|
*/
|
||||||
return ((APP_Rx_ptr_out - APP_Rx_ptr_in) + (-((int)(APP_Rx_ptr_out <= APP_Rx_ptr_in)) & APP_RX_DATA_SIZE)) - 1;
|
return ((APP_Rx_ptr_out - APP_Rx_ptr_in) + (-((int)(APP_Rx_ptr_out <= APP_Rx_ptr_in)) & APP_RX_DATA_SIZE)) - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -183,13 +189,13 @@ static uint16_t VCP_DataTx(uint8_t* Buf, uint32_t Len)
|
||||||
could just check for: USB_CDC_ZLP, but better to be safe
|
could just check for: USB_CDC_ZLP, but better to be safe
|
||||||
and wait for any existing transmission to complete.
|
and wait for any existing transmission to complete.
|
||||||
*/
|
*/
|
||||||
while (USB_Tx_State);
|
while (USB_Tx_State != 0);
|
||||||
|
|
||||||
for (uint32_t i = 0; i < Len; i++) {
|
for (uint32_t i = 0; i < Len; i++) {
|
||||||
APP_Rx_Buffer[APP_Rx_ptr_in] = Buf[i];
|
APP_Rx_Buffer[APP_Rx_ptr_in] = Buf[i];
|
||||||
APP_Rx_ptr_in = (APP_Rx_ptr_in + 1) % APP_RX_DATA_SIZE;
|
APP_Rx_ptr_in = (APP_Rx_ptr_in + 1) % APP_RX_DATA_SIZE;
|
||||||
|
|
||||||
while (!CDC_Send_FreeBytes());
|
while (CDC_Send_FreeBytes() <= 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return USBD_OK;
|
return USBD_OK;
|
||||||
|
|
Loading…
Reference in New Issue