GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 0.0% 0 / 0 / 16
Functions: 0.0% 0 / 0 / 2
Branches: 0.0% 0 / 0 / 4
Decisions: 0.0% 0 / - / 4

firmware/console/binary/tunerstudio_commands.cpp
Line Branch Decision Exec Source
1 #include "pch.h"
2
3 #include "tunerstudio_impl.h"
4 #include "tunerstudio.h"
5 #include "tunerstudio_io.h"
6
7 #include "live_data.h"
8
9 #include "status_loop.h"
10
11 #if EFI_TUNER_STUDIO
12
13 static Timer channelsRequestTimer;
14
15 int getSecondsSinceChannelsRequest() {
16 return channelsRequestTimer.getElapsedSeconds();
17 }
18
19 /**
20 * @brief 'Output' command sends out a snapshot of current values
21 * Gauges refresh
22 */
23 void TunerStudio::cmdOutputChannels(TsChannelBase* tsChannel, uint16_t offset, uint16_t count) {
24 if (offset + count > TS_TOTAL_OUTPUT_SIZE) {
25 efiPrintf("TS: Version Mismatch? Too much outputs requested offset=%d + count=%d/total=%d", offset, count,
26 TS_TOTAL_OUTPUT_SIZE);
27 sendErrorCode(tsChannel, TS_RESPONSE_OUT_OF_RANGE, "cmd_size");
28 return;
29 }
30
31 if (offset < BLOCKING_FACTOR) {
32 engine->outputChannels.outputRequestPeriod = channelsRequestTimer.getElapsedUs();
33 channelsRequestTimer.reset();
34 }
35
36 tsState.outputChannelsCommandCounter++;
37 updateTunerStudioState();
38 tsChannel->assertPacketSize(count, false);
39 // this method is invoked too often to print any debug information
40 uint8_t * scratchBuffer = (uint8_t *)tsChannel->scratchBuffer;
41 /**
42 * collect data from all models
43 */
44 copyRange(scratchBuffer + 3, getLiveDataFragments(), offset, count);
45
46 tsChannel->crcAndWriteBuffer(TS_RESPONSE_OK, count);
47 }
48
49 #endif // EFI_TUNER_STUDIO
50