refactoring - reducing GPIO complexity

This commit is contained in:
rusEfi 2017-04-21 19:59:05 -04:00
parent 85778e6bf2
commit cd5b6ec7d8
5 changed files with 8 additions and 11 deletions

View File

@ -313,7 +313,7 @@ void OutputPin::initPin(const char *msg, brain_pin_e brainPin, pin_output_mode_e
this->port = port;
this->pin = pin;
mySetPadMode(msg, port, pin, mode);
mySetPadMode2(msg, brainPin, mode);
setDefaultPinState(outputMode);
#endif /* EFI_GPIO_HARDWARE */

View File

@ -24,12 +24,11 @@ extern bool hasFirmwareErrorFlag;
static THD_WORKING_AREA(eeThreadStack, UTILITY_THREAD_STACK_SIZE);
#define DIAG_PORT GPIOD
#define DIAG_PIN 0
#define DIAG_PIN GPIOD_0
void setDiag(int value) {
print("Setting diag: %d\r\n", value);
palWritePad(DIAG_PORT, DIAG_PIN, value);
// todo: convert to new api palWritePad(DIAG_PORT, DIAG_PIN, value);
}
#define PERIOD 3000
@ -84,8 +83,7 @@ void startEmulator(void) {
//}
static void initECUstimulator(Engine *engine) {
mySetPadMode("TEN", DIAG_PORT, DIAG_PIN,
PAL_MODE_OUTPUT_PUSHPULL);
mySetPadMode2("TEN", DIAG_PIN, PAL_MODE_OUTPUT_PUSHPULL);
addConsoleActionI("diag", setDiag);
addConsoleAction("emu", startEmulator);

View File

@ -176,13 +176,10 @@ ICUDriver * getInputCaptureDriver(const char *msg, brain_pin_e hwPin) {
}
void turnOnCapturePin(const char *msg, brain_pin_e brainPin) {
ioportid_t port = getHwPort(brainPin);
ioportmask_t pin = getHwPin(brainPin);
ICUDriver *driver = getInputCaptureDriver(msg, brainPin);
if (driver != NULL) {
iomode_t mode = (iomode_t) PAL_MODE_ALTERNATE(getAlternateFunctions(driver));
mySetPadMode(msg, port, pin, mode);
mySetPadMode2(msg, brainPin, mode);
}
}

View File

@ -54,6 +54,7 @@ ioportmask_t getHwPin(brain_pin_e brainPin) {
}
/**
* @deprecated: todo finish migration to 'mySetPadMode2' with 'brain_pin_e' parameter
* This method would set an error condition if pin is already used
*/
void mySetPadMode(const char *msg, ioportid_t port, ioportmask_t pin, iomode_t mode) {

View File

@ -131,7 +131,8 @@ void init_adc_mcp3208(McpAdcState *state, SPIDriver *driver) {
hack = state;
mySetPadMode("ext adc chip select", MCP3208_CS_PORT, MCP3208_CS_PIN, PAL_STM32_MODE_OUTPUT);
todo: convert to new API, todo: array of CS
mySetPadMod("ext adc chip select", MCP3208_CS_PORT, MCP3208_CS_PIN, PAL_STM32_MODE_OUTPUT);
spiStart(driver, &spicfg);