all ECUs can use big blocking factor!

This commit is contained in:
Matthew Kennedy 2024-08-28 02:11:37 -07:00
parent bd7f8f2bb6
commit 0cedba8c4e
6 changed files with 6 additions and 10 deletions

View File

@ -3,5 +3,3 @@
! Atlas is guaranteed dual bank flash, so there's no delay when sending the burn command.
! All commands should complete effectively instantly.
#define TS_BLOCK_READ_TIMEOUT 250
#define BLOCKING_FACTOR 1500

View File

@ -1 +0,0 @@
#define BLOCKING_FACTOR 1500

View File

@ -23,4 +23,3 @@
#define show_Proteus_presets true
#define LUA_SCRIPT_SIZE 12000
#define BLOCKING_FACTOR 1500

View File

@ -42,6 +42,9 @@ static Timer requestPeriodTimer;
* Gauges refresh
*/
void TunerStudio::cmdOutputChannels(TsChannelBase* tsChannel, uint16_t offset, uint16_t count) {
// Assert that the entire output channels block will fit in a single TS transaction
static_assert(BLOCKING_FACTOR >= TS_TOTAL_OUTPUT_SIZE + 10);
if (offset + count > TS_TOTAL_OUTPUT_SIZE) {
efiPrintf("TS: Version Mismatch? Too much outputs requested %d/%d/%d", offset, count,
sizeof(TunerStudioOutputChannels));
@ -49,10 +52,8 @@ void TunerStudio::cmdOutputChannels(TsChannelBase* tsChannel, uint16_t offset, u
return;
}
if (offset < BLOCKING_FACTOR) {
engine->outputChannels.outputRequestPeriod
= 1e6 * requestPeriodTimer.getElapsedSecondsAndReset(getTimeNowNt());
}
engine->outputChannels.outputRequestPeriod
= 1e6 * requestPeriodTimer.getElapsedSecondsAndReset(getTimeNowNt());
tsState.outputChannelsCommandCounter++;
updateTunerStudioState();

View File

@ -6,7 +6,6 @@
#include "thread_controller.h"
#include "tunerstudio.h"
// Assert that the USB tx/rx buffers are large enough to fit one full packet
static_assert(SERIAL_USB_BUFFERS_SIZE >= BLOCKING_FACTOR + 10);

View File

@ -106,7 +106,7 @@ struct_no_prefix persistent_config_s
struct_no_prefix engine_configuration_s
#define BLOCKING_FACTOR 750
#define BLOCKING_FACTOR 1400
#define SENT_INPUT_COUNT 1