auto-sync

This commit is contained in:
rusEfi 2014-11-18 08:03:12 -06:00
parent df79a226ea
commit 2850a38429
13 changed files with 48 additions and 45 deletions

View File

@ -452,7 +452,6 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_
void resetConfigurationExt(Logging * logger, engine_type_e engineType, Engine *engine) {
engine_configuration_s *engineConfiguration = engine->engineConfiguration;
engine_configuration2_s *engineConfiguration2 = engine->engineConfiguration2;
board_configuration_s *boardConfiguration = &engineConfiguration->bc;
/**
* Let's apply global defaults first
@ -587,7 +586,6 @@ void applyNonPersistentConfiguration(Logging * logger, Engine *engine) {
void prepareShapes(Engine *engine) {
prepareOutputSignals(engine);
engine_configuration_s *engineConfiguration = engine->engineConfiguration;
engine_configuration2_s *engineConfiguration2 = engine->engineConfiguration2;
// todo: looks like this is here only for unit tests. todo: remove

View File

@ -71,7 +71,7 @@ void turnPinHigh(io_pin_e pin) {
#endif
#if EFI_WAVE_CHART
addWaveChartEvent(getPinName(pin), WC_UP, "");
addWaveChartEvent(getPinName(pin), WC_UP);
#endif /* EFI_WAVE_ANALYZER */
}
@ -87,7 +87,7 @@ void turnPinLow(io_pin_e pin) {
#endif /* EFI_DEFAILED_LOGGING */
#if EFI_WAVE_CHART
addWaveChartEvent(getPinName(pin), WC_DOWN, "");
addWaveChartEvent(getPinName(pin), WC_DOWN);
#endif /* EFI_WAVE_ANALYZER */
}

View File

@ -143,7 +143,7 @@ static char timeBuffer[10];
/**
* @brief Register an event for digital sniffer
*/
void WaveChart::addWaveChartEvent3(const char *name, const char * msg, const char * msg2) {
void WaveChart::addWaveChartEvent3(const char *name, const char * msg) {
if(!isChartActive) {
return;
}
@ -194,7 +194,6 @@ void WaveChart::addWaveChartEvent3(const char *name, const char * msg, const cha
itoa10(timeBuffer, time100);
appendFast(&logging, timeBuffer);
appendFast(&logging, msg2);
appendFast(&logging, CHART_DELIMETER);
}
if (!alreadyLocked) {

View File

@ -26,7 +26,7 @@ public:
bool_t isWaveChartFull();
bool_t isStartedTooLongAgo();
void publishChartIfFull();
void addWaveChartEvent3(const char *name, const char *msg, const char *msg2);
void addWaveChartEvent3(const char *name, const char *msg);
private:
#if EFI_WAVE_CHART
Logging logging;

View File

@ -184,7 +184,7 @@ static char rpmBuffer[10];
*/
static void onTdcCallback(void) {
itoa10(rpmBuffer, getRpm());
addWaveChartEvent(TOP_DEAD_CENTER_MESSAGE, (char*) rpmBuffer, "");
addWaveChartEvent(TOP_DEAD_CENTER_MESSAGE, (char*) rpmBuffer);
}
/**
@ -260,11 +260,11 @@ void scheduleByAngle(int rpm, scheduling_s *timer, float angle, schfunc_t callba
#endif /* EFI_SHAFT_POSITION_INPUT */
void addWaveChartEvent(const char *name, const char * msg, const char *msg2) {
void addWaveChartEvent(const char *name, const char * msg) {
#if EFI_PROD_CODE
efiAssertVoid(getRemainingStack(chThdSelf()) > 32, "lowstck#2c");
#endif
#if EFI_WAVE_CHART
waveChart.addWaveChartEvent3(name, msg, msg2);
waveChart.addWaveChartEvent3(name, msg);
#endif /* EFI_WAVE_CHART */
}

View File

@ -79,7 +79,7 @@ bool isCranking(void);
int getRevolutionCounter(void);
#define isValidRpm(rpm) ((rpm) > 0 && (rpm) < UNREALISTIC_RPM)
void addWaveChartEvent(const char *name, const char *msg, const char *msg2);
void addWaveChartEvent(const char *name, const char *msg);
#ifdef __cplusplus
}

View File

@ -87,19 +87,25 @@ int TriggerCentral::getHwEventCounter(int index) {
static char shaft_signal_msg_index[15];
static ALWAYS_INLINE void reportEventToWaveChart(trigger_event_e ckpSignalType, int index) {
itoa10(&shaft_signal_msg_index[1], index);
itoa10(&shaft_signal_msg_index[2], index);
if (ckpSignalType == SHAFT_PRIMARY_UP) {
addWaveChartEvent(WC_CRANK1, WC_UP, (char*) shaft_signal_msg_index);
shaft_signal_msg_index[0] = 'u';
addWaveChartEvent(WC_CRANK1, (char*) shaft_signal_msg_index);
} else if (ckpSignalType == SHAFT_PRIMARY_DOWN) {
addWaveChartEvent(WC_CRANK1, WC_DOWN, (char*) shaft_signal_msg_index);
shaft_signal_msg_index[0] = 'd';
addWaveChartEvent(WC_CRANK1, (char*) shaft_signal_msg_index);
} else if (ckpSignalType == SHAFT_SECONDARY_UP) {
addWaveChartEvent(WC_CRANK2, WC_UP, (char*) shaft_signal_msg_index);
shaft_signal_msg_index[0] = 'u';
addWaveChartEvent(WC_CRANK2, (char*) shaft_signal_msg_index);
} else if (ckpSignalType == SHAFT_SECONDARY_DOWN) {
addWaveChartEvent(WC_CRANK2, WC_DOWN, (char*) shaft_signal_msg_index);
shaft_signal_msg_index[0] = 'd';
addWaveChartEvent(WC_CRANK2, (char*) shaft_signal_msg_index);
} else if (ckpSignalType == SHAFT_3RD_UP) {
addWaveChartEvent(WC_CRANK3, WC_UP, (char*) shaft_signal_msg_index);
shaft_signal_msg_index[0] = 'u';
addWaveChartEvent(WC_CRANK3, (char*) shaft_signal_msg_index);
} else if (ckpSignalType == SHAFT_3RD_DOWN) {
addWaveChartEvent(WC_CRANK3, WC_DOWN, (char*) shaft_signal_msg_index);
shaft_signal_msg_index[0] = 'd';
addWaveChartEvent(WC_CRANK3, (char*) shaft_signal_msg_index);
}
}
@ -256,8 +262,7 @@ float getTriggerDutyCycle(int index) {
}
void initTriggerCentral(Engine *engine) {
// todo: use 'engine' parameter and eliminate 'extern'
strcpy((char*) shaft_signal_msg_index, "_");
strcpy((char*) shaft_signal_msg_index, "x_");
#if EFI_WAVE_CHART
initWaveChart(&waveChart);

View File

@ -56,7 +56,7 @@ static void waAnaWidthCallback(WaveReader *reader) {
uint64_t nowUs = getTimeNowUs();
reader->eventCounter++;
reader->lastActivityTimeUs = nowUs;
addWaveChartEvent(reader->name, WC_UP, "");
addWaveChartEvent(reader->name, WC_UP);
uint32_t width = nowUs - reader->periodEventTimeUs;
reader->last_wave_low_widthUs = width;
@ -69,7 +69,7 @@ void WaveReader::onFallEvent() {
uint64_t nowUs = getTimeNowUs();
eventCounter++;
lastActivityTimeUs = nowUs;
addWaveChartEvent(name, WC_DOWN, "");
addWaveChartEvent(name, WC_DOWN);
uint64_t width = nowUs - widthEventTimeUs;
last_wave_high_widthUs = width;

View File

@ -253,5 +253,5 @@ void firmwareError(const char *fmt, ...) {
}
int getRusEfiVersion(void) {
return 20141117;
return 20141118;
}

View File

@ -1,5 +1,5 @@
// This file was generated by Version2Header
// Sun Nov 16 09:14:27 EST 2014
// Tue Nov 18 08:07:00 EST 2014
#ifndef VCS_VERSION
#define VCS_VERSION "5394"
#define VCS_VERSION "5429"
#endif

View File

@ -5,6 +5,7 @@ import com.irnems.waves.ZoomProvider;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@ -73,35 +74,35 @@ public class WaveReport implements TimeAxisTranslator {
// if (array.length % 4 != 0)
// throw new IllegalArgumentException("Unexpected length " + array.length);
List<UpDown> times = new ArrayList<UpDown>();
List<UpDown> times = new ArrayList<>();
int index = 0;
if (array[0].equals(WC_DOWN))
index += 2;
while (index + 3 < array.length) {
if (!array[index].equals(WC_UP)) {
if (!array[index].startsWith(WC_UP)) {
index += 2;
continue;
}
if (!array[index + 2].equals(WC_DOWN)) {
if (!array[index + 2].startsWith(WC_DOWN)) {
index += 2;
continue;
}
String upString[] = array[index + 1].split("_");
String downString[] = array[index + 3].split("_");
String upString[] = array[index].split("_");
String downString[] = array[index + 2].split("_");
try {
int upTime = Integer.parseInt(upString[0]);
int downTime = Integer.parseInt(downString[0]);
int upTime = Integer.parseInt(array[index + 1]);
int downTime = Integer.parseInt(array[index + 3]);
int upIndex = upString.length > 1 ? Integer.parseInt(upString[1]) : -1;
int downIndex = downString.length > 1 ? Integer.parseInt(downString[1]) : -1;
int upEventIndex = upString.length > 1 ? Integer.parseInt(upString[1]) : -1;
int downEventIndex = downString.length > 1 ? Integer.parseInt(downString[1]) : -1;
times.add(new UpDown(upTime, upIndex, downTime, downIndex));
times.add(new UpDown(upTime, upEventIndex, downTime, downEventIndex));
} catch (NumberFormatException e) {
System.err.println("Invalid? [" + upString + "][" + downString + "]");
System.err.println("Invalid? [" + Arrays.toString(upString) + "][" + Arrays.toString(downString) + "]");
}
index += 4;

View File

@ -21,20 +21,20 @@ public class WaveChartParserTest {
WaveChart result = WaveChartParser.unpackToMap("");
assertTrue(result.map.isEmpty());
result = WaveChartParser.unpackToMap("wave_chart,input1 A8!u!185080!r!0!2670996!crank!u!2670996_2!crank2!u!2674512!Injector 4!u!2674512!Spark 1!u!2674512!Injector 4!d!2674665!Spark 1!d!2674912!crank2!d!2680055!crank2!u!2687963!Injector 2!u!2687963!Spark 1!u!2687963!Injector 2!d!2688116!Spark 1!d!2688363!crank2!d!2693093!crank!d!2697428!crank2!u!2700454!Injector 1!u!2700454!Spark 1!u!2700454!Injector 1!d!2700607!Spark 1!d!2700854!crank2!d!2705329!crank2!u!2712449!Injector 3!u!2712449!Spark 1!u!2712449!Injector 3!d!2712681!Spark 1!d!2712849!crank2!d!2717385!r!0!2721629!crank!u!2721629!crank2!u!2724641!Injector 1!u!2724641!Injector 2!u!2724641!Injector 3!u!2724641!Injector 4!u!2724641!Spark 1!u!2724641!Injector 4!d!2726241!Injector 3!d!2726241!Injector 2!d!2726241!Injector 1!d!2726241!crank2!d!2729677!Spark 1!d!2730008!crank2!u!2736851!Injector 1!u!2736851!Injector 2!u!2736851!Injector 3!u!2736851!Injector 4!u!2736851!Spark 1!u!2736851!Injector 4!d!2738451!Injector 3!d!2738451!Injector 2!d!2738451!Injector 1!d!2738451!crank2!d!2741922!Spark 1!d!2742218!crank!d!2746104!crank2!u!2749010!Injector 1!u!2749010!Injector 2!u!2749010!Injector 3!u!2749010!Injector 4!u!2749010!Spark 1!u!2749010!Injector 4!d!2750601!Injector 3!d!2750601!Injector 2!d!2750601!Injector 1!d!2750601!crank2!d!2753919!Spark 1!d!2754377!crank2!u!2760922!Injector 1!u!2760922!Injector 2!u!2760922!Injector 3!u!2760922!Injector 4!u!2760922!Spark 1!u!2760922!Injector 4!d!2762522!Injector 3!d!2762522!Injector 2!d!2762522!Injector 1!d!2762522!crank2!d!2765882!Spark 1!d!2766289!r!236!2769990!crank!u!2769990!crank2!u!2773003!Injector 1!u!2773003!Injector 2!u!2773003!Injector 3!u!2773003!Injector 4!u!2773003!Spark 1!u!2773003!Injector 4!d!2774603!Injector 3!d!2774603!Injector 2!d!2774603!Injector 1!d!2774603!Spark 1!d!2778110!crank2!d!2778143!crank2!u!2785215!Injector 1!u!2785215!Injector 2!u!2785215!Injector 3!u!2785215!Injector 4!u!2785215!Spark 1!u!2785215!Injector 4!d!2786815!,");
assertEquals(9, result.map.size());
result = WaveChartParser.unpackToMap("wave_chart,c1!u_154!0!c1!d_155!11!c1!u_156!24!spa5!u!36!c1!d_157!39!c1!u_158!49!c1!d_159!61!c1!u_160!74!c1!d_161!86!c1!u_162!99!c1!d_163!111!c1!u_164!124!");
assertEquals(3, result.map.size());
String crankReport = result.get("crank").toString();
String crankReport = result.get("c1").toString();
List<WaveReport.UpDown> list = WaveReport.parse(crankReport);
assertEquals(2, list.size());
assertEquals(4, list.size());
WaveReport.UpDown upDown = list.get(0);
assertEquals(2670996, upDown.upTime);
assertEquals(2, upDown.upIndex);
assertEquals(24, upDown.upTime);
assertEquals(156, upDown.upIndex);
assertEquals(2697428, upDown.downTime);
assertEquals(-1, upDown.downIndex);
assertEquals(39, upDown.downTime);
assertEquals(157, upDown.downIndex);
}
@Test

View File

@ -19,7 +19,7 @@ import javax.swing.*;
* @see WavePanel
*/
public class Launcher extends FrameHelper {
public static final int CONSOLE_VERSION = 20141114;
public static final int CONSOLE_VERSION = 20141118;
public static final boolean SHOW_STIMULATOR = true;
private final String port;