This commit is contained in:
rusefi 2017-05-06 16:12:24 -04:00
commit 5764cc3e3b
55 changed files with 662 additions and 95 deletions

View File

@ -1,11 +1,16 @@
current binaries are always available at http://rusefi.com/build_server/
[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6YSSN35GWYS3A)
[![Tindie](http://rusefi.com/wiki/images/1/1c/Tindie-smalls.png)](https://www.tindie.com/stores/russian/)
#Releases
| Release date | Revision | Details |
| ------------ | --------- | ------- |
| 05/05/2017 | r13974 | bugfix #404: 36/1 FATAL error: angle range trgSync |
| 05/03/2017 | r13967 | improvement: ChibiOS 3.2 |
| 04/06/2017 | r13759 | major improvement #72: ChibiOS 3.1 |
| 03/26/2017 | r13330 | super annoying bug #336 fixed |
| 03/20/2017 | r13233 | improvements #375 & #376: hard FPU mode & migrating to fresh version of arm gcc |

@ -1 +1 @@
Subproject commit 97aaabeedd53ec16147696f8b44b16ee43d86a99
Subproject commit fa9b5ac5ae2f6df6b0b861547260fddde3b37830

@ -1 +1 @@
Subproject commit a7e847a894dbc8d15e178d63cba1e71d043c3fdf
Subproject commit 0f416078cc00c1bb1be55453adc8dcdc9bb1baf4

View File

@ -176,6 +176,7 @@ CPPSRC = $(CHCPPSRC) \
$(DEV_SRC_CPP) \
$(CONTROLLERS_ALGO_SRC_CPP) \
$(SYSTEMSRC_CPP) \
$(BOARDSRC_CPP) \
$(ENGINES_SRC_CPP) \
$(HW_LAYER_EMS_CPP) \
$(HW_SENSORS_SRC) \

View File

@ -13,8 +13,8 @@ rem magic once needed
call update_version.bat
echo Starting compilation
rem the important piece
make
rem the important piece (pass external args if needed)
make %1 %2 %3
rem cd build
rem if not exist rusefi.hex echo "compilation failed"

View File

@ -57,7 +57,9 @@
*
* See also STM32F4xx_MCUCONF is defined in mcuconf.h
*/
#ifndef STM32F407xx
#define STM32F407xx
#endif
/*
* IO pins assignments.

View File

@ -1,5 +1,9 @@
# List of all the board related files.
BOARDSRC = $(PROJECT_DIR)/config/boards/ST_STM32F4/board.c
BOARDSRC_CPP =
# Required include directories
BOARDINC = $(PROJECT_DIR)/config/boards/ST_STM32F4
# MCU defines
DDEFS += -DSTM32F407xx

View File

@ -180,7 +180,7 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_ENGINE_PARAMETER_F) {
boardConfiguration->alternatorControlPin = GPIOE_10;
boardConfiguration->alternatorControlPinMode = OM_OPENDRAIN;
// boardConfiguration->vehicleSpeedSensorInputPin = GPIOA_8; // https://github.com/rusefi/rusefi/issues/401
boardConfiguration->vehicleSpeedSensorInputPin = GPIOA_8;
// enable altdebug
engineConfiguration->targetVBatt = 13.8;

View File

@ -31,8 +31,11 @@ EXTERN_ENGINE;
void setRoverv8(DECLARE_ENGINE_PARAMETER_F) {
setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR);
// set trigger_type 9
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_36_1;
boardConfiguration->is_enabled_spi_2 = false;
boardConfiguration->isHip9011Enabled = false;
setFrankenstein_01_LCD(boardConfiguration);
engineConfiguration->specs.displacement = 3.528;
@ -114,12 +117,12 @@ void setRoverv8(DECLARE_ENGINE_PARAMETER_F) {
/* Stepper logic:
boardConfiguration->idle.stepperDirectionPin = GPIOE_10;
boardConfiguration->idle.stepperStepPin = GPIOE_12;
engineConfiguration->stepperEnablePin = GPIOE_14;
boardConfiguration->idle.stepperStepPin = GPIOE_12; // todo: set pin which would not conflict with coils
engineConfiguration->stepperEnablePin = GPIOE_14; // todo: set pin which would not conflict with coils
engineConfiguration->idleStepperReactionTime = 10;
engineConfiguration->idleStepperTotalSteps = 150;
*/
boardConfiguration->useStepperIdle = true;
boardConfiguration->useStepperIdle = false;
// set injection_pin_mode 0
boardConfiguration->injectionPinMode = OM_DEFAULT;

View File

@ -18,6 +18,8 @@
#define EFI_CONSOLE_UART_DEVICE (&SD1)
#define TS_SERIAL_UART_DEVICE (&SD3)
#define EFI_CONSOLE_TX_PORT GPIOC
#define EFI_CONSOLE_TX_PIN 10
#define EFI_CONSOLE_RX_PORT GPIOC

View File

@ -243,6 +243,10 @@
#define EFI_CONSOLE_UART_DEVICE (&SD3)
#endif
#ifndef TS_SERIAL_UART_DEVICE
#define TS_SERIAL_UART_DEVICE (&SD3)
#endif
// todo: start using consoleSerialTxPin? Not sure
#ifndef EFI_CONSOLE_TX_PORT
#define EFI_CONSOLE_TX_PORT GPIOC

View File

@ -130,8 +130,6 @@
#define EEPROM_USE_EE25XX TRUE
#define rccEnableCRC(lp) rccEnableAHB(RCC_AHBENR_CRCEN, lp)
#define rccDisableCRC(lp) rccDisableAHB(RCC_AHBENR_CRCEN, lp)
/*===========================================================================*/
/* CRC driver settings. */

View File

@ -21,10 +21,13 @@ extern LoggingWithStorage tsLogger;
#include "pin_repository.h"
#include "usbconsole.h"
#include "map_averaging.h"
#if HAL_USE_SERIAL_USB || defined(__DOXYGEN__)
extern SerialUSBDriver SDU1;
#define CONSOLE_DEVICE &SDU1
#define TS_SERIAL_UART_DEVICE &SD3
#else
#define CONSOLE_DEVICE TS_SERIAL_UART_DEVICE
#endif
static SerialConfig tsSerialConfig = { 0, 0, USART_CR2_STOP1_BITS | USART_CR2_LINEN, 0 };
@ -56,10 +59,13 @@ void startTsPort(void) {
BaseChannel * getTsSerialDevice(void) {
#if EFI_PROD_CODE || defined(__DOXYGEN__)
#if EFI_USB_SERIAL || defined(__DOXYGEN__)
if (isCommandLineConsoleOverTTL()) {
// if console uses UART then TS uses USB
return (BaseChannel *) &SDU1;
} else {
return (BaseChannel *) CONSOLE_DEVICE;
} else
#endif
{
return (BaseChannel *) TS_SERIAL_UART_DEVICE;
}
#else

View File

@ -97,7 +97,8 @@ static void setWarningEnabled(int value) {
}
#if EFI_FILE_LOGGING || defined(__DOXYGEN__)
static char FILE_LOGGER[1000] CCM_OPTIONAL;
// this one needs to be in main ram so that SD card SPI DMA works fine
static char FILE_LOGGER[1000] MAIN_RAM;
static Logging fileLogger("file logger", FILE_LOGGER, sizeof(FILE_LOGGER));
#endif /* EFI_FILE_LOGGING */
@ -748,7 +749,7 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels DECLARE_
tsOutputChannels->debugFloatField1 = getVoltage("fsio", engineConfiguration->fsioAdc[0]);
}
} else if (engineConfiguration->debugMode == DBG_VEHICLE_SPEED_SENSOR) {
tsOutputChannels->debugIntField1 = engine->engineState.vssCounter;
tsOutputChannels->debugIntField1 = engine->engineState.vssDebugEventCounter;
} else if (engineConfiguration->debugMode == DBG_SD_CARD) {
tsOutputChannels->debugIntField1 = engine->engineState.totalLoggedBytes;
} else if (engineConfiguration->debugMode == DBG_CRANKING_DETAILS) {

View File

@ -16,6 +16,7 @@
#include "tunerstudio_configuration.h"
#include "fsio_impl.h"
#include "engine_math.h"
#include "pin_repository.h"
EXTERN_ENGINE
;
@ -119,15 +120,25 @@ static void turnAuxPidOn(int index) {
engineConfiguration->auxPidFrequency[index], 0.1, applyPinState);
}
void startAuxPins(void) {
for (int i = 0;i <AUX_PID_COUNT;i++) {
turnAuxPidOn(i);
}
}
void stopAuxPins(void) {
for (int i = 0;i < AUX_PID_COUNT;i++) {
unmarkPin(activeConfiguration.auxPidPins[i]);
}
}
void initAuxPid(Logging *sharedLogger) {
chThdCreateStatic(auxPidThreadStack, sizeof(auxPidThreadStack), LOWPRIO,
(tfunc_t) auxPidThread, NULL);
logger = sharedLogger;
for (int i = 0;i< AUX_PID_COUNT;i++) {
turnAuxPidOn(i);
}
startAuxPins();
}
#endif

View File

@ -11,5 +11,7 @@
#include "engine.h"
void initAuxPid(Logging *sharedLogger);
void startAuxPins(void);
void stopAuxPins(void);
#endif /* CONTROLLERS_ALGO_AUX_PID_H_ */

View File

@ -106,6 +106,7 @@ void Engine::reset() {
sensorChartMode = SC_OFF;
actualLastInjection = 0;
isAlternatorControlEnabled = false;
callFromPitStopEndTime = 0;
wallFuelCorrection = 0;
/**
* it's important for fixAngle() that engineCycle field never has zero
@ -145,7 +146,7 @@ EngineState::EngineState() {
lastErrorCode = 0;
crankingTime = 0;
timeSinceCranking = 0;
vssCounter = 0;
vssDebugEventCounter = 0;
targetAFR = 0;
tpsAccelEnrich = 0;
tChargeK = 0;

View File

@ -158,7 +158,7 @@ public:
float currentVE;
float targetAFR;
int vssCounter;
int vssDebugEventCounter;
int totalLoggedBytes;
@ -274,6 +274,14 @@ public:
*/
bool isAlternatorControlEnabled;
// floatms_t callToPitEndTime;
/**
* remote telemetry: if not zero, time to stop flashing 'CALL FROM PIT STOP' light
*/
floatms_t callFromPitStopEndTime;
/**
* This flag indicated a big enough problem that engine control would be
* prohibited if this flag is set to true.

View File

@ -264,10 +264,6 @@ void prepareVoidConfiguration(engine_configuration_s *activeConfiguration) {
engineConfiguration->cj125ua = EFI_ADC_NONE;
engineConfiguration->cj125ur = EFI_ADC_NONE;
boardConfiguration->idle.stepperDirectionPin = GPIO_UNASSIGNED;
boardConfiguration->idle.stepperStepPin = GPIO_UNASSIGNED;
engineConfiguration->stepperEnablePin = GPIO_UNASSIGNED;
boardConfiguration->idle.stepperDirectionPin = GPIO_UNASSIGNED;
boardConfiguration->idle.stepperStepPin = GPIO_UNASSIGNED;
engineConfiguration->stepperEnablePin = GPIO_UNASSIGNED;

View File

@ -1838,11 +1838,11 @@ typedef enum {
CUSTOM_ERR_PIN_ALREADY_USED_2 = 6134,
CUSTOM_ERR_ICU_STATE = 6135,
CUSTOM_ERR_TCHARGE_NOT_READY = 6136,
CUSTOM_ERR_6137 = 6137,
CUSTOM_ERR_TRIGGER_SHAPE_TOO_LONG = 6137,
CUSTOM_ERR_FUEL_TABLE_NOT_READY = 6138,
CUSTOM_ERR_TCHARGE_NOT_READY2 = 6139,
CUSTOM_ERR_6140 = 6140,
CUSTOM_ERR_COMMAND_LOWER_CASE_EXPECTED = 6140,
CUSTOM_ERR_FLASH_CRC_FAILED = 6141,
CUSTOM_ERR_NOT_INPUT_PIN = 6142,
CUSTOM_ERR_SKIPPED_TOOTH_SHAPE = 6143,

View File

@ -296,6 +296,7 @@ void runIoTest(int subsystem, int index) {
} else if (subsystem == 0x16) {
milBench();
} else if (subsystem == 0x17) {
} else if (subsystem == 0x20 && index == 0x3456) {
}
}

View File

@ -438,6 +438,10 @@ static void printTemperatureInfo(void) {
#endif /* EFI_ANALOG_SENSORS */
}
static void setCallFromPitStop(int durationMs) {
engine->callFromPitStopEndTime = currentTimeMillis() + durationMs;
}
static void setCrankingRpm(int value) {
engineConfiguration->cranking.rpm = value;
doPrintConfiguration(engine);
@ -1024,6 +1028,7 @@ static void setTpsErrorDetectionTooHigh(int v) {
}
command_i_s commandsI[] = {{"ignition_mode", setIgnitionMode},
{"call_from_pitstop", setCallFromPitStop},
{"cranking_rpm", setCrankingRpm},
{"cranking_injection_mode", setCrankingInjectionMode},
{"injection_mode", setInjectionMode},

View File

@ -50,13 +50,21 @@ void TriggerShape::calculateTriggerSynchPoint(TriggerState *state DECLARE_ENGINE
triggerShapeSynchPointIndex = findTriggerZeroEventIndex(state, this, triggerConfig PASS_ENGINE_PARAMETER);
engine->engineCycleEventCount = getLength();
int length = getLength();
engine->engineCycleEventCount = length;
efiAssertVoid(length > 0, "shapeLength=0");
if (length >= PWM_PHASE_MAX_COUNT) {
warning(CUSTOM_ERR_TRIGGER_SHAPE_TOO_LONG, "Count above %d", length);
shapeDefinitionError = true;
return;
}
float firstAngle = getAngle(triggerShapeSynchPointIndex);
assertAngleRange(triggerShapeSynchPointIndex, "firstAngle");
int frontOnlyIndex = 0;
for (int eventIndex = 0; eventIndex < engine->engineCycleEventCount; eventIndex++) {
for (int eventIndex = 0; eventIndex < length; eventIndex++) {
if (eventIndex == 0) {
// explicit check for zero to avoid issues where logical zero is not exactly zero due to float nature
eventAngles[0] = 0;
@ -64,6 +72,7 @@ void TriggerShape::calculateTriggerSynchPoint(TriggerState *state DECLARE_ENGINE
eventAngles[1] = 0;
frontOnlyIndexes[0] = 0;
} else {
assertAngleRange(triggerShapeSynchPointIndex, "triggerShapeSynchPointIndex");
int triggerDefinitionCoordinate = (triggerShapeSynchPointIndex + eventIndex) % engine->engineCycleEventCount;
efiAssertVoid(engine->engineCycleEventCount != 0, "zero engineCycleEventCount");
int triggerDefinitionIndex = triggerDefinitionCoordinate >= size ? triggerDefinitionCoordinate - size : triggerDefinitionCoordinate;
@ -260,7 +269,7 @@ angle_t TriggerShape::getAngle(int index) const {
* See also trigger_central.cpp
* See also getEngineCycleEventCount()
*/
efiAssert(size != 0, "shapeSize=0", NAN);
int crankCycle = index / size;
int remainder = index % size;

View File

@ -13,7 +13,7 @@
#if EFI_SENSOR_CHART || defined(__DOXYGEN__)
#include "status_loop.h"
static char LOGGING_BUFFER[5000];
static char LOGGING_BUFFER[5000] CCM_OPTIONAL;
static Logging logging("analog chart", LOGGING_BUFFER, sizeof(LOGGING_BUFFER));
static int pendingData = false;

View File

@ -57,6 +57,15 @@ typedef unsigned int time_t;
#define EFI_ERROR_CODE 0xffffffff
#if EFI_USE_CCM && defined __GNUC__
#define MAIN_RAM __attribute__((section(".ram0")))
#elif defined __GNUC__
#define MAIN_RAM
#else
#define MAIN_RAM @ ".ram0"
#endif
#if EFI_USE_CCM && defined __GNUC__
#define CCM_OPTIONAL __attribute__((section(".ram4")))
#elif defined __GNUC__

View File

@ -131,7 +131,6 @@ static void canMazdaRX8(void) {
commonTxInit(CAN_MAZDA_RX_RPM_SPEED);
#if EFI_VEHICLE_SPEED || defined(__DOXYGEN__)
float kph = getVehicleSpeed();
setShortValue(&txmsg, SWAP_UINT16(getRpmE(engine) * 4), 0);
@ -139,7 +138,6 @@ static void canMazdaRX8(void) {
setShortValue(&txmsg, SWAP_UINT16((int )(100 * kph + 10000)), 4);
setShortValue(&txmsg, 0, 6);
sendMessage();
#endif /* EFI_VEHICLE_SPEED */
commonTxInit(CAN_MAZDA_RX_STATUS_2);
txmsg.data8[0] = 0xFE; //Unknown
@ -152,13 +150,20 @@ static void canMazdaRX8(void) {
txmsg.data8[7] = 0x00; // Unused
commonTxInit(CAN_MAZDA_RX_STATUS_2);
txmsg.data8[0] = 0x98; //temp gauge //~170 is red, ~165 last bar, 152 centre, 90 first bar, 92 second bar
txmsg.data8[0] = (char)(engine->sensors.clt + 62); //temp gauge //~170 is red, ~165 last bar, 152 centre, 90 first bar, 92 second bar
txmsg.data8[1] = 0x00; // something to do with trip meter 0x10, 0x11, 0x17 increments by 0.1 miles
txmsg.data8[2] = 0x00; // unknown
txmsg.data8[3] = 0x00; //unknown
txmsg.data8[4] = 0x01; //Oil Pressure (not really a gauge)
txmsg.data8[5] = 0x00; //check engine light
txmsg.data8[6] = 0x00; //Coolant, oil and battery
if ((getRpmE(engine)>0) && (engine->sensors.vBatt<13)) {
setTxBit(6, 6); // battery light
}
if (engine->sensors.clt > 98) {
setTxBit(6, 1); // coolant light
}
//oil pressure warning lamp bit is 7
txmsg.data8[7] = 0x00; //unused
sendMessage();
}

View File

@ -189,12 +189,37 @@ digital_input_s * initWaveAnalyzerDriver(const char *msg, brain_pin_e brainPin)
digital_input_s *hw = registeredIcus.add();
hw->widthListeners.clear();
hw->periodListeners.clear();
hw->started = false;
hw->brainPin = brainPin;
hw->driver = driver;
turnOnCapturePin(msg, brainPin);
return hw;
}
void stopWaveAnalyzerDriver(const char *msg, brain_pin_e brainPin) {
if (brainPin == GPIO_UNASSIGNED) {
return;
}
unmarkPin(brainPin);
ICUDriver *driver = getInputCaptureDriver(msg, brainPin);
if (driver == NULL) {
return;
}
int regSize = registeredIcus.size;
for (int i = 0; i < regSize; i++) {
if (registeredIcus.elements[i].driver == driver) {
// removing from driver from the list of used drivers
memcpy(&registeredIcus.elements[i], &registeredIcus.elements[regSize - 1],
sizeof(digital_input_s));
registeredIcus.size--;
icuDisableNotificationsI(driver);
icuStop(driver);
return;
}
}
}
void startInputDriver(digital_input_s *hw, bool isActiveHigh) {
hw->isActiveHigh = isActiveHigh;
if (hw->isActiveHigh) {

View File

@ -28,6 +28,7 @@ digital_input_s *initWaveAnalyzerDriver(const char *msg, brain_pin_e brainPin);
void startInputDriver(digital_input_s *hw, bool isActiveHigh);
ICUDriver * getInputCaptureDriver(const char *msg, brain_pin_e hwPin);
icuchannel_t getInputCaptureChannel(brain_pin_e hwPin);
void stopWaveAnalyzerDriver(const char *msg, brain_pin_e brainPin);
#endif

View File

@ -40,7 +40,8 @@
#include "svnversion.h"
#include "engine_configuration.h"
#include "CJ125.h"
#endif
#include "aux_pid.h"
#endif /* EFI_PROD_CODE */
#if EFI_SPEED_DENSITY
#include "map_averaging.h"
@ -230,6 +231,7 @@ void applyNewHardwareSettings(void) {
stopCanPins();
stopETBPins();
stopVSSPins();
stopAuxPins();
if (engineConfiguration->bc.is_enabled_spi_1 != activeConfiguration.bc.is_enabled_spi_1)
stopSpi(SPI_DEVICE_1);
@ -288,6 +290,7 @@ void applyNewHardwareSettings(void) {
startCanPins();
startETBPins();
startVSSPins();
startAuxPins();
adcConfigListener(engine);
}
@ -371,14 +374,17 @@ void initHardware(Logging *l) {
initTriggerDecoder();
#endif
mySetPadMode2("board test", boardConfiguration->boardTestModeJumperPin,
PAL_MODE_INPUT_PULLUP);
bool isBoardTestMode_b = (!palReadPad(getHwPort(boardConfiguration->boardTestModeJumperPin), getHwPin(boardConfiguration->boardTestModeJumperPin)));
// we can now relese this pin, it is actually used as output sometimes
unmarkPin(boardConfiguration->boardTestModeJumperPin);
bool isBoardTestMode_b;
if (boardConfiguration->boardTestModeJumperPin != GPIO_UNASSIGNED) {
mySetPadMode2("board test", boardConfiguration->boardTestModeJumperPin,
PAL_MODE_INPUT_PULLUP);
isBoardTestMode_b = (!palReadPad(getHwPort(boardConfiguration->boardTestModeJumperPin), getHwPin(boardConfiguration->boardTestModeJumperPin)));
// we can now relese this pin, it is actually used as output sometimes
unmarkPin(boardConfiguration->boardTestModeJumperPin);
} else {
isBoardTestMode_b = false;
}
#if HAL_USE_ADC || defined(__DOXYGEN__)
initAdcInputs(isBoardTestMode_b);

View File

@ -58,6 +58,8 @@ static void extCallback(EXTDriver *extp, expchannel_t channel) {
}
#if EFI_HD44780_LCD || defined(__DOXYGEN__)
onJoystick(button);
#else
UNUSED(button);
#endif
}

View File

@ -41,6 +41,8 @@ static time_t GetTimeUnixSec(void) {
rtcGetTime(&RTCD1, &timespec);
rtcConvertDateTimeToStructTm(&timespec, &tim, NULL);
return mktime(&tim);
#else
return (time_t)0;
#endif
}

View File

@ -93,8 +93,9 @@
*/
/* Includes ------------------------------------------------------------------*/
#define STM32F407xx
#ifdef STM32F407xx
#define STM32F40_41xxx
#endif
#define assert_param(expr) ((void)0)
//#include "stm32f4xx_hal.h"

View File

@ -80,8 +80,9 @@
/* Includes ------------------------------------------------------------------*/
#define STM32F407xx
#ifdef STM32F407xx
#define STM32F40_41xxx
#endif
#define assert_param(expr) ((void)0)
#define HAL_FLASH_MODULE_ENABLED

View File

@ -44,7 +44,7 @@ float getVehicleSpeed(void) {
}
static void vsAnaWidthCallback(void) {
engine->engineState.vssCounter++;
engine->engineState.vssDebugEventCounter++;
efitick_t nowNt = getTimeNowNt();
vssDiff = nowNt - lastSignalTimeNt;
lastSignalTimeNt = nowNt;
@ -56,7 +56,7 @@ static void speedInfo(void) {
scheduleMsg(logger, "c=%f eventCounter=%d speed=%f",
engineConfiguration->vehicleSpeedCoef,
engine->engineState.vssCounter,
engine->engineState.vssDebugEventCounter,
getVehicleSpeed());
scheduleMsg(logger, "vss diff %d", vssDiff);
@ -67,8 +67,7 @@ bool hasVehicleSpeedSensor() {
}
void stopVSSPins(void) {
unmarkPin(activeConfiguration.bc.vehicleSpeedSensorInputPin);
// todo: remove driver from registeredIcus
stopWaveAnalyzerDriver("VSS", activeConfiguration.bc.vehicleSpeedSensorInputPin);
}
void startVSSPins(void) {
@ -85,5 +84,10 @@ void initVehicleSpeed(Logging *l) {
vehicleSpeedInput->widthListeners.registerCallback((VoidInt) vsAnaWidthCallback, NULL);
}
#else /* EFI_VEHICLE_SPEED */
float getVehicleSpeed(void) {
// no VSS support
return 0;
}
#endif /* EFI_VEHICLE_SPEED */

View File

@ -251,5 +251,5 @@ int getRusEfiVersion(void) {
return 123; // this is here to make the compiler happy about the unused array
if (UNUSED_CCM_SIZE[0] * 0 != 0)
return 3211; // this is here to make the compiler happy about the unused array
return 20170501;
return 20170505;
}

View File

@ -1,5 +1,5 @@
// This file was generated by Version2Header
// Sat Apr 22 01:25:51 EEST 2017
// Sat May 06 08:17:42 EDT 2017
#ifndef VCS_VERSION
#define VCS_VERSION "13886"
#define VCS_VERSION "13989"
#endif

View File

@ -44,7 +44,7 @@ enable2ndByteCanID = false
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sat Apr 29 21:15:49 EDT 2017
; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon May 01 20:47:16 EDT 2017
pageSize = 16376
page = 1
@ -1496,6 +1496,10 @@ fileVersion = { 20161225 }
; and may create error messages.
; It is expected that these commands would not typically alter any ram mapped to a Constant.
;
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "w\x00\x12\x00\x01"
cmd_test_spk2 = "w\x00\x12\x00\x02"
cmd_test_spk3 = "w\x00\x12\x00\x03"
@ -1535,6 +1539,7 @@ cmd_test_fuel_pump = "w\x00\x14\x00\x01"
cmd_test_radiator_fan = "w\x00\x15\x00\x01"
cmd_test_check_engine_light = "w\x00\x16\x00\x01"
cmd_test_idle_valve = "w\x00\x17\x00\x01"
cmd_call_from_pit = "w\x00\x20\x34\x56"
[UserDefined]
@ -2333,11 +2338,13 @@ cmd_test_idle_valve = "w\x00\x17\x00\x01"
commandButton = "Injector #8", cmd_test_inj8
dialog = testMisc, "Misc"
commandButton = "Come To Pit", cmd_call_from_pit
commandButton = "Fuel Pump", cmd_test_fuel_pump
commandButton = "Radiator Fan", cmd_test_radiator_fan
commandButton = "Check Engine", cmd_test_check_engine_light
commandButton = "Idle Air Valve", cmd_test_idle_valve
; bench test
dialog = ioTest, "I-O Test", border
panel = testSpark, West
panel = testInjectors, Center

View File

@ -764,6 +764,10 @@ fileVersion = { 20161225 }
; and may create error messages.
; It is expected that these commands would not typically alter any ram mapped to a Constant.
;
; see TS_IO_TEST_COMMAND in firmware code
;
cmd_test_spk1 = "w\x00\x12\x00\x01"
cmd_test_spk2 = "w\x00\x12\x00\x02"
cmd_test_spk3 = "w\x00\x12\x00\x03"
@ -803,6 +807,7 @@ cmd_test_fuel_pump = "w\x00\x14\x00\x01"
cmd_test_radiator_fan = "w\x00\x15\x00\x01"
cmd_test_check_engine_light = "w\x00\x16\x00\x01"
cmd_test_idle_valve = "w\x00\x17\x00\x01"
cmd_call_from_pit = "w\x00\x20\x34\x56"
[UserDefined]
@ -1601,11 +1606,13 @@ cmd_test_idle_valve = "w\x00\x17\x00\x01"
commandButton = "Injector #8", cmd_test_inj8
dialog = testMisc, "Misc"
commandButton = "Come To Pit", cmd_call_from_pit
commandButton = "Fuel Pump", cmd_test_fuel_pump
commandButton = "Radiator Fan", cmd_test_radiator_fan
commandButton = "Check Engine", cmd_test_check_engine_light
commandButton = "Idle Air Valve", cmd_test_idle_valve
; bench test
dialog = ioTest, "I-O Test", border
panel = testSpark, West
panel = testInjectors, Center

View File

@ -50,7 +50,7 @@ static void doAddAction(const char *token, action_type_e type, Void callback, vo
for (int i = 0; i< efiStrlen(token);i++) {
char ch = token[i];
if (ch != mytolower(ch)) {
firmwareError(CUSTOM_ERR_6140, "lowerCase expected [%s]", token);
firmwareError(CUSTOM_ERR_COMMAND_LOWER_CASE_EXPECTED, "lowerCase expected [%s]", token);
}
}
current->token = token;

View File

@ -509,7 +509,7 @@ U 1 1 590520C8
P 3750 6400
F 0 "FB901" H 3650 6475 40 0000 L CNN
F 1 "CONN_1" H 3750 6455 30 0001 C CNN
F 2 "rusEFI_LIB:KS_3557" H 3750 6400 60 0001 C CNN
F 2 "rusEFI_LIB:KeyStone_3557" H 3750 6400 60 0001 C CNN
F 3 "" H 3750 6400 60 0000 C CNN
F 4 "dnp,dnp" H 3750 6400 60 0001 C CNN "Field4"
F 5 "dnp,dnp" H 3750 6400 60 0001 C CNN "Field5"
@ -522,7 +522,7 @@ U 1 1 59052183
P 3950 6400
F 0 "FB902" H 4025 6475 40 0000 R CNN
F 1 "CONN_1" H 3950 6455 30 0001 C CNN
F 2 "rusEFI_LIB:KS_3557" H 3950 6400 60 0001 C CNN
F 2 "rusEFI_LIB:KeyStone_3557" H 3950 6400 60 0001 C CNN
F 3 "" H 3950 6400 60 0000 C CNN
F 4 "dnp,dnp" H 3950 6400 60 0001 C CNN "Field4"
F 5 "dnp,dnp" H 3950 6400 60 0001 C CNN "Field5"

View File

@ -1,7 +1,7 @@
(export (version D)
(design
(source C:/Users/Vista_64_D630/Desktop/Jared/code/Hardware/trunk/rusefi.com/frankenso/frankenso.sch)
(date "5/1/2017 6:14:14 AM")
(date "5/1/2017 8:14:17 PM")
(tool "Eeschema 4.0.5")
(sheet (number 1) (name /) (tstamps /)
(title_block
@ -4387,7 +4387,7 @@
(tstamp 58F64B8B))
(comp (ref FB901)
(value CONN_1)
(footprint rusEFI_LIB:KS_3557)
(footprint rusEFI_LIB:KeyStone_3557)
(fields
(field (name Field4) dnp,dnp)
(field (name Field5) dnp,dnp))
@ -4396,7 +4396,7 @@
(tstamp 590520C8))
(comp (ref FB902)
(value CONN_1)
(footprint rusEFI_LIB:KS_3557)
(footprint rusEFI_LIB:KeyStone_3557)
(fields
(field (name Field4) dnp,dnp)
(field (name Field5) dnp,dnp))
@ -6569,12 +6569,12 @@
(pin (num 1) (name 1) (type passive))
(pin (num 2) (name 2) (type passive)))))
(libraries
(library (logical conn)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library\\conn.lib"))
(library (logical KICAD_Older_Version)
(uri C:\Users\Vista_64_D630\Desktop\Jared\code\Hardware\trunk\rusefi.com\rusefi_lib\KICAD_Older_Version.lib))
(library (logical device)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library\\device.lib"))
(library (logical conn)
(uri "C:\\Program Files\\KiCad\\share\\kicad\\library\\conn.lib"))
(library (logical "crystal(mc306)")
(uri "C:\\Users\\Vista_64_D630\\Desktop\\Jared\\code\\Hardware\\trunk\\rusefi.com\\rusefi_lib\\crystal(mc306).lib"))
(library (logical Pololu_DRV8880)

View File

@ -71,31 +71,6 @@ Comment3 ""
Comment4 ""
$EndDescr
$Sheet
S 9600 5350 1500 1000
U 52ED7C56
F0 "hi-lo" 50
F1 "hi-lo.sch" 50
F2 "H_IN2" I L 9600 5500 60
F3 "H_IN4" I L 9600 5700 60
F4 "H_IN1" I L 9600 5400 60
F5 "H_IN3" I L 9600 5600 60
F6 "H_IN6" I L 9600 5900 60
F7 "H_IN5" I L 9600 5800 60
F8 "HL1" I R 11100 5400 60
F9 "HL2" I R 11100 5500 60
F10 "HL3" I R 11100 5600 60
F11 "HL4" I R 11100 5700 60
F12 "HL5" I R 11100 5800 60
F13 "HL6" I R 11100 5900 60
F14 "12V" I R 11100 6300 60
F15 "5V" I L 9600 6300 60
F16 "GND" I R 11100 6200 60
F17 "H_IN8" I L 9600 6100 60
F18 "H_IN7" I L 9600 6000 60
F19 "HL7" I R 11100 6000 60
F20 "HL8" I R 11100 6100 60
$EndSheet
$Sheet
S 5700 3700 1450 1400
U 52A5358C
F0 "adc_amp_divider" 50
@ -2269,8 +2244,8 @@ F 5 "DO NOT POPULATE,DNP" V 2680 4150 60 0001 C CNN "VEND1,VEND1#"
1 9150 10350
1 0 0 -1
$EndComp
Text Notes 9425 925 0 60 ~ 0
optional D12-D23 for solenoids\nonly used in rare cases where the \ntopology requires this fly back diode
Text Notes 9425 1000 0 60 ~ 0
optional D12-D23 for solenoids\nonly used in rare cases where the \ntopology (IAC, VVT, ALT, ect) requires \nthis fly back diode
$Comp
L CONN_1 P15
U 1 1 58A78AE5
@ -3070,4 +3045,29 @@ Wire Wire Line
8700 550 12100 550
Text GLabel 8700 550 0 60 Input ~ 0
12V-SNUB
$Sheet
S 9600 5350 1500 975
U 52ED7C56
F0 "hi-lo" 50
F1 "hi-lo.sch" 50
F2 "DOHL2" I L 9600 5400 60
F3 "DOHL4" I L 9600 5700 60
F4 "DOHL1" I L 9600 5600 60
F5 "DOHL3" I L 9600 5500 60
F6 "DOHL6" I L 9600 5800 60
F7 "DOHL5" I L 9600 5900 60
F8 "HL1" I R 11100 5400 60
F9 "HL2" I R 11100 5500 60
F10 "HL3" I R 11100 5600 60
F11 "HL4" I R 11100 5700 60
F12 "HL5" I R 11100 5800 60
F13 "HL6" I R 11100 5900 60
F14 "12V" I R 11100 6300 60
F15 "5V" I L 9600 6300 60
F16 "GND" I R 11100 6200 60
F17 "DOHL8" I L 9600 6000 60
F18 "DOHL7" I L 9600 6100 60
F19 "HL7" I R 11100 6000 60
F20 "HL8" I R 11100 6100 60
$EndSheet
$EndSCHEMATC

View File

@ -545,17 +545,17 @@ $EndComp
Text Notes 4350 5400 0 60 ~ 0
JUMPER SELECTED VP VOLTAGE
Text HLabel 5300 6550 0 60 Input ~ 0
H_IN2
DOHL3
Text HLabel 5300 6750 0 60 Input ~ 0
H_IN4
DOHL4
Text HLabel 5300 5850 0 60 Input ~ 0
H_IN1
DOHL2
Text HLabel 5300 5650 0 60 Input ~ 0
H_IN3
DOHL1
Text HLabel 5300 7450 0 60 Input ~ 0
H_IN6
DOHL5
Text HLabel 5300 7650 0 60 Input ~ 0
H_IN5
DOHL6
Text HLabel 8050 5450 2 60 Input ~ 0
HL1
Text HLabel 8050 6050 2 60 Input ~ 0
@ -769,9 +769,9 @@ F 3 "" H 6650 8700 60 0000 C CNN
1 0 0 -1
$EndComp
Text HLabel 5300 8350 0 60 Input ~ 0
H_IN8
DOHL7
Text HLabel 5300 8550 0 60 Input ~ 0
H_IN7
DOHL8
Text Label 6400 8050 2 60 ~ 0
VP4
Text HLabel 6250 8150 2 60 Input ~ 0

View File

@ -143,6 +143,7 @@
141) RESOLVED IN R0.5 add an app note regarding not having separate injector/analog/else GND on Frankenso (NOTE ADDED TO PAGE 15)
142) RESOLVED IN R0.5 Some fab shops do not like soldering 0R 0805 on JUMPER footprint. Need to convert JPO1, JPO4 JPO5 "SM0805_jumper"
143) move D12-D23 schematics to outputs page, add note mentioning that needed for IAC/VVT but not for injectors
144) HL7 & HL8 silkscreen is missing, HL2 silkscreen position wrong
For honda add-on / rewiring board
-- Add 2A high side solinoid drive for VTec sol

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 133 KiB

View File

@ -0,0 +1,28 @@
(module C_0805 (layer F.Cu) (tedit 58825C9E)
(descr "Capacitor SMD 0805, reflow soldering, AVX (see smccp.pdf)")
(tags "capacitor 0805")
(attr smd)
(fp_text reference REF** (at 0 0 90) (layer F.SilkS)
(effects (font (size 0.508 0.508) (thickness 0.1016)))
)
(fp_text value C_0805 (at 0 2.1) (layer F.Fab) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1 0.625) (end -1 -0.625) (layer F.Fab) (width 0.1))
(fp_line (start 1 0.625) (end -1 0.625) (layer F.Fab) (width 0.1))
(fp_line (start 1 -0.625) (end 1 0.625) (layer F.Fab) (width 0.1))
(fp_line (start -1 -0.625) (end 1 -0.625) (layer F.Fab) (width 0.1))
(fp_line (start -1.8 -1) (end 1.8 -1) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.8 1) (end 1.8 1) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.8 -1) (end -1.8 1) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.8 -1) (end 1.8 1) (layer F.CrtYd) (width 0.05))
(fp_line (start 0.5 -0.85) (end -0.5 -0.85) (layer F.SilkS) (width 0.12))
(fp_line (start -0.5 0.85) (end 0.5 0.85) (layer F.SilkS) (width 0.12))
(pad 1 smd rect (at -1 0) (size 1 1.25) (layers F.Cu F.Paste F.Mask))
(pad 2 smd rect (at 1 0) (size 1 1.25) (layers F.Cu F.Paste F.Mask))
(model Capacitors_SMD.3dshapes/C_0805.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@ -0,0 +1,30 @@
(module DPAK2 (layer F.Cu) (tedit 58A1BEE8)
(descr "MOS boitier DPACK G-D-S")
(tags "CMD DPACK")
(attr smd)
(fp_text reference D? (at -1.27 -10.16) (layer F.SilkS)
(effects (font (size 1.27 1.016) (thickness 0.127)))
)
(fp_text value SCHDPAK (at 0 -2.413) (layer F.SilkS) hide
(effects (font (size 1.016 1.016) (thickness 0.2032)))
)
(fp_line (start 1.397 -1.524) (end 1.397 1.651) (layer F.SilkS) (width 0.127))
(fp_line (start 1.397 1.651) (end 3.175 1.651) (layer F.SilkS) (width 0.127))
(fp_line (start 3.175 1.651) (end 3.175 -1.524) (layer F.SilkS) (width 0.127))
(fp_line (start -3.175 -1.524) (end -3.175 1.651) (layer F.SilkS) (width 0.127))
(fp_line (start -3.175 1.651) (end -1.397 1.651) (layer F.SilkS) (width 0.127))
(fp_line (start -1.397 1.651) (end -1.397 -1.524) (layer F.SilkS) (width 0.127))
(fp_line (start 3.429 -7.62) (end 3.429 -1.524) (layer F.SilkS) (width 0.127))
(fp_line (start 3.429 -1.524) (end -3.429 -1.524) (layer F.SilkS) (width 0.127))
(fp_line (start -3.429 -1.524) (end -3.429 -9.398) (layer F.SilkS) (width 0.127))
(fp_line (start -3.429 -9.525) (end 3.429 -9.525) (layer F.SilkS) (width 0.127))
(fp_line (start 3.429 -9.398) (end 3.429 -7.62) (layer F.SilkS) (width 0.127))
(pad 1 smd rect (at -2.286 0) (size 1.651 3.048) (layers F.Cu F.Paste F.Mask))
(pad 2 smd rect (at 0 -6.35) (size 6.096 6.096) (layers F.Cu F.Paste F.Mask))
(pad 3 smd rect (at 2.286 0) (size 1.651 3.048) (layers F.Cu F.Paste F.Mask))
(model smd/dpack_2.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@ -0,0 +1,30 @@
(module D_0805 (layer F.Cu) (tedit 5882623C)
(descr "Diode SMD in 0805 package")
(tags "smd diode")
(attr smd)
(fp_text reference REF** (at 0 1.6) (layer F.SilkS)
(effects (font (size 0.508 0.508) (thickness 0.1016)))
)
(fp_text value D_0805 (at 0 -1.6) (layer F.Fab) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1.6 -0.8) (end -1.6 0.8) (layer F.SilkS) (width 0.12))
(fp_line (start -1.7 0.88) (end -1.7 -0.88) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.7 0.88) (end -1.7 0.88) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.7 -0.88) (end 1.7 0.88) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.7 -0.88) (end 1.7 -0.88) (layer F.CrtYd) (width 0.05))
(fp_line (start 0.2 0) (end 0.4 0) (layer F.Fab) (width 0.1))
(fp_line (start -0.1 0) (end -0.3 0) (layer F.Fab) (width 0.1))
(fp_line (start -0.1 -0.2) (end -0.1 0.2) (layer F.Fab) (width 0.1))
(fp_line (start 0.2 0.2) (end 0.2 -0.2) (layer F.Fab) (width 0.1))
(fp_line (start -0.1 0) (end 0.2 0.2) (layer F.Fab) (width 0.1))
(fp_line (start 0.2 -0.2) (end -0.1 0) (layer F.Fab) (width 0.1))
(fp_line (start -1 0.625) (end -1 -0.625) (layer F.Fab) (width 0.1))
(fp_line (start 1 0.625) (end -1 0.625) (layer F.Fab) (width 0.1))
(fp_line (start 1 -0.625) (end 1 0.625) (layer F.Fab) (width 0.1))
(fp_line (start -1 -0.625) (end 1 -0.625) (layer F.Fab) (width 0.1))
(fp_line (start -1.6 0.8) (end 1 0.8) (layer F.SilkS) (width 0.12))
(fp_line (start -1.6 -0.8) (end 1 -0.8) (layer F.SilkS) (width 0.12))
(pad 1 smd rect (at -1.05 0) (size 0.8 0.9) (layers F.Cu F.Paste F.Mask))
(pad 2 smd rect (at 1.05 0) (size 0.8 0.9) (layers F.Cu F.Paste F.Mask))
)

View File

@ -0,0 +1,21 @@
(module KS_3557 (layer F.Cu) (tedit 5905095B)
(fp_text reference REF** (at 4.445 -3.175) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value KS_3557 (at 4.445 3.175) (layer F.Fab) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 3.0988 1.8796) (end 1.9304 0.2032) (layer F.SilkS) (width 0.127))
(fp_line (start 1.9304 0.2032) (end -1.016 0.2032) (layer F.SilkS) (width 0.127))
(fp_line (start 3.0988 -1.8796) (end 1.9304 -0.2032) (layer F.SilkS) (width 0.127))
(fp_line (start 1.9304 -0.2032) (end -1.016 -0.2032) (layer F.SilkS) (width 0.127))
(fp_line (start 3.0988 1.905) (end -1.6002 1.905) (layer F.SilkS) (width 0.15))
(fp_line (start 3.0988 -1.905) (end -1.6002 -1.905) (layer F.SilkS) (width 0.15))
(fp_line (start 13.462 1.9) (end 1.651 1.9) (layer F.SilkS) (width 0.15))
(fp_line (start 1.778 -1.9) (end 13.462 -1.9) (layer F.SilkS) (width 0.15))
(fp_line (start -1.6002 -1.905) (end -1.6002 1.905) (layer F.SilkS) (width 0.15))
(fp_line (start 9.7282 1.7526) (end 9.7282 -1.7526) (layer F.SilkS) (width 0.15))
(fp_line (start 13.462 1.7526) (end 13.462 -1.7526) (layer F.SilkS) (width 0.15))
(pad 1 thru_hole circle (at 0 -1.7526) (size 2.2098 2.2098) (drill 1.60274) (layers *.Cu *.Mask))
(pad 1 thru_hole circle (at 0 1.7526) (size 2.2098 2.2098) (drill 1.60274) (layers *.Cu *.Mask))
)

View File

@ -0,0 +1,129 @@
(module md09c (layer F.Cu) (tedit 589F544D)
(fp_text reference md09c (at 0 1.27) (layer F.SilkS)
(effects (font (size 1.27 1.524) (thickness 0.3048)))
)
(fp_text value SW** (at 0 -1.27) (layer F.SilkS)
(effects (font (size 1.27 1.524) (thickness 0.3048)))
)
(fp_text user GND (at -8.89 3.81 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user VDD (at -6.35 3.81 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user 1A (at -1.27 4.318 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user 1B (at -3.81 4.318 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user GND (at 6.35 3.81 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user VMOT (at 8.89 3.302 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user 2B (at 3.81 4.318 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user 2A (at 1.27 4.318 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user MS3 (at 1.27 -3.81 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user MS2 (at 3.81 -3.81 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user EN (at 8.89 -4.445 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user MS1 (at 6.35 -3.81 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user SLP (at -3.81 -4.064 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user RST (at -1.27 -4.064 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user STEP (at -6.35 -3.683 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user DIR (at -8.89 -4.191 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user DIR (at -8.89 -4.318 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user STEP (at -6.35 -3.81 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user RST (at -1.27 -4.064 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user SLP (at -3.81 -4.191 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user MS1 (at 6.35 -4.064 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user EN (at 8.89 -4.572 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user MS2 (at 3.81 -4.064 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user MS3 (at 1.27 -4.064 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user 2A (at 1.27 4.318 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user 2B (at 3.81 4.318 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user VMOT (at 8.89 3.302 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user GND (at 6.35 3.81 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user 1B (at -3.81 4.318 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user 1A (at -1.27 4.318 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user VDD (at -6.35 3.81 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user GND (at -8.89 3.81 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_line (start -10.16 -7.62) (end 10.16 -7.62) (layer F.SilkS) (width 0.254))
(fp_line (start 10.16 -7.62) (end 10.16 7.62) (layer F.SilkS) (width 0.254))
(fp_line (start 10.16 7.62) (end -10.16 7.62) (layer F.SilkS) (width 0.254))
(fp_line (start -10.16 7.62) (end -10.16 -7.62) (layer F.SilkS) (width 0.254))
(pad 1 thru_hole rect (at -8.89 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 2 thru_hole circle (at -6.35 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 3 thru_hole circle (at -3.81 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 4 thru_hole circle (at -1.27 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 5 thru_hole circle (at 1.27 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 6 thru_hole circle (at 3.81 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 7 thru_hole rect (at 6.35 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 8 thru_hole circle (at 8.89 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 9 thru_hole circle (at 8.89 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 10 thru_hole circle (at 6.35 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 11 thru_hole circle (at 3.81 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 12 thru_hole circle (at 1.27 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 13 thru_hole circle (at -1.27 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 14 thru_hole circle (at -3.81 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 15 thru_hole circle (at -6.35 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 16 thru_hole circle (at -8.89 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(model ../../../../../../Users/Vista_64_D630/Desktop/Jared/code/Hardware/trunk/rusefi.com/rusefi_lib/3d/a4988-stepper-motor-driver-carrier.wrl
(at (xyz -0.401 0.301 0.1))
(scale (xyz 0.395 0.395 0.395))
(rotate (xyz 0 0 90))
)
)

View File

@ -0,0 +1,147 @@
(module md32a (layer F.Cu) (tedit 58A04C58)
(fp_text reference md32a (at 0 1.27) (layer F.SilkS)
(effects (font (size 1.27 1.524) (thickness 0.3048)))
)
(fp_text value SW** (at 0 -1.27) (layer F.SilkS)
(effects (font (size 1.27 1.524) (thickness 0.3048)))
)
(fp_line (start -8.636 6.35) (end -7.747 5.461) (layer F.SilkS) (width 0.127))
(fp_line (start -8.636 6.35) (end -7.747 5.461) (layer B.SilkS) (width 0.127))
(fp_line (start 8.89 -6.35) (end 7.747 -5.588) (layer F.SilkS) (width 0.127))
(fp_line (start 8.89 -6.35) (end 7.747 -5.588) (layer B.SilkS) (width 0.127))
(fp_text user V3P3 (at 8.89 -1.27 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user V3P3 (at 8.89 -1.27 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user TOFF (at -8.89 1.27 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user TOFF (at -8.89 1.27 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user GND (at -7.62 3.81 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user VDD (at -6.35 3.81 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user 1A (at -1.27 4.318 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user 1B (at -3.81 4.318 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user GND (at 6.35 3.81 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user VMOT (at 8.89 3.302 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user 2B (at 3.81 4.318 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user 2A (at 1.27 4.318 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user MS3 (at 1.27 -3.81 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user MS2 (at 3.81 -3.81 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user EN (at 7.62 -4.572 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user MS1 (at 6.35 -3.81 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user SLP (at -3.81 -4.064 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user RST (at -1.27 -4.064 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user STEP (at -6.35 -3.683 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user DIR (at -8.89 -4.191 90) (layer B.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)) (justify mirror))
)
(fp_text user DIR (at -8.89 -4.318 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user STEP (at -6.35 -3.81 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user RST (at -1.27 -4.064 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user SLP (at -3.81 -4.191 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user MS1 (at 6.35 -4.064 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user EN (at 7.62 -4.572 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user MS2 (at 3.81 -4.064 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user MS3 (at 1.27 -4.064 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user 2A (at 1.27 4.318 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user 2B (at 3.81 4.318 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user VMOT (at 8.89 3.302 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user GND (at 6.35 3.81 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user 1B (at -3.81 4.318 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user 1A (at -1.27 4.318 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user VDD (at -6.35 3.81 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_text user GND (at -7.62 3.81 90) (layer F.SilkS)
(effects (font (size 1.016 1.016) (thickness 0.127)))
)
(fp_line (start -10.16 -7.62) (end 10.16 -7.62) (layer F.SilkS) (width 0.254))
(fp_line (start 10.16 -7.62) (end 10.16 7.62) (layer F.SilkS) (width 0.254))
(fp_line (start 10.16 7.62) (end -10.16 7.62) (layer F.SilkS) (width 0.254))
(fp_line (start -10.16 7.62) (end -10.16 -7.62) (layer F.SilkS) (width 0.254))
(pad 18 thru_hole circle (at 8.89 -3.81) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 17 thru_hole circle (at -8.89 3.81) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 1 thru_hole rect (at -8.89 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 2 thru_hole circle (at -6.35 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 3 thru_hole circle (at -3.81 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 4 thru_hole circle (at -1.27 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 5 thru_hole circle (at 1.27 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 6 thru_hole circle (at 3.81 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 7 thru_hole rect (at 6.35 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 8 thru_hole circle (at 8.89 6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 9 thru_hole circle (at 8.89 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 10 thru_hole circle (at 6.35 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 11 thru_hole circle (at 3.81 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 12 thru_hole circle (at 1.27 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 13 thru_hole circle (at -1.27 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 14 thru_hole circle (at -3.81 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 15 thru_hole circle (at -6.35 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 16 thru_hole circle (at -8.89 -6.35) (size 1.4224 1.4224) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(model ../../../../../../Users/Vista_64_D630/Desktop/Jared/code/Hardware/trunk/rusefi.com/rusefi_lib/3d/drv8880-stepper-motor-driver-carrier.wrl
(at (xyz -0.401 0.301 0.1))
(scale (xyz 0.395 0.395 0.395))
(rotate (xyz 0 0 90))
)
)

View File

@ -0,0 +1,28 @@
(module R_0805 (layer F.Cu) (tedit 58826274)
(descr "Resistor SMD 0805, reflow soldering, Vishay (see dcrcw.pdf)")
(tags "resistor 0805")
(attr smd)
(fp_text reference REF** (at 0 0 90) (layer F.SilkS)
(effects (font (size 0.508 0.508) (thickness 0.1016)))
)
(fp_text value R_0805 (at 0 2.1) (layer F.Fab) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -1 0.625) (end -1 -0.625) (layer F.Fab) (width 0.1))
(fp_line (start 1 0.625) (end -1 0.625) (layer F.Fab) (width 0.1))
(fp_line (start 1 -0.625) (end 1 0.625) (layer F.Fab) (width 0.1))
(fp_line (start -1 -0.625) (end 1 -0.625) (layer F.Fab) (width 0.1))
(fp_line (start -1.6 -1) (end 1.6 -1) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.6 1) (end 1.6 1) (layer F.CrtYd) (width 0.05))
(fp_line (start -1.6 -1) (end -1.6 1) (layer F.CrtYd) (width 0.05))
(fp_line (start 1.6 -1) (end 1.6 1) (layer F.CrtYd) (width 0.05))
(fp_line (start 0.6 0.875) (end -0.6 0.875) (layer F.SilkS) (width 0.15))
(fp_line (start -0.6 -0.875) (end 0.6 -0.875) (layer F.SilkS) (width 0.15))
(pad 1 smd rect (at -0.95 0) (size 0.7 1.3) (layers F.Cu F.Paste F.Mask))
(pad 2 smd rect (at 0.95 0) (size 0.7 1.3) (layers F.Cu F.Paste F.Mask))
(model Resistors_SMD.3dshapes/R_0805.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@ -47,6 +47,7 @@ public class AutoTest {
// todo? sleep(10); // time to reboot
testBmwE34();
testSachs();
testRoverV8();
testMitsu();
testCamaro();
testCitroenBerlingo();
@ -266,6 +267,10 @@ public class AutoTest {
assertWaveFall(msg, chart, EngineChart.INJECTOR_4, 0.493, x + 540);
}
private static void testRoverV8() {
setEngineType(10);
}
private static void testFordFiesta() {
setEngineType(4);
EngineChart chart;

View File

@ -21,3 +21,22 @@ git submodule update --init
Refresh submodules:
git submodule update --recursive --remote
=========================================
Generate diff of specific commit
git diff COMMIT^ COMMIT
(this generates diff between previous to COMMIT and COMMIT)
=========================================
https://help.github.com/articles/configuring-a-remote-for-a-fork/
git remote -v
git remote add upstream https://github.com/ChibiOS/ChibiOS.git
git remote -v
=========================================
https://help.github.com/articles/syncing-a-fork/