//============================================================================== void ICACHE_FLASH_ATTR Lcd_Init(void){ //P3DIR |= (BIT0 | BIT1 | BIT2 | BIT3); easygpio_pinMode(pinSclk, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(pinSdin, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(pinSce, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(pinReset, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); cs(0);// = 0; rst(0);// = 0; os_delay_us(10000); // 5mS so says the stop watch(less than 5ms will not work) rst(1);// = 1; // STE2007 controller initialization spi(CMD, 0x2F);//Включение дисплея spi(CMD, 0x38);//Включение термокомпенсации spi(CMD, 0xA0);//Инверсия отображения spi(CMD, 0xA6);//0xA7 - инверсия отображения spi(CMD, 0x9f);//Установка контраста spi(CMD, 0xEC);//Установка частоты обновления 80 Гц //spi(CMD,0xC8); // mirror Y axis (about X axis) //spi(CMD,0xA1); spi(CMD, 0xAF);//Разрешение работы LCD spi(CMD, 0xA4);//Очистка экрана Lcd_Clear(); // clear LCD //LINES(); }
void ICACHE_FLASH_ATTR door_switch_init() { easygpio_pinMode(JIDIANQI_IO, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(DOOR_STATUS_IO, EASYGPIO_NOPULL, EASYGPIO_INPUT); easygpio_outputSet(JIDIANQI_IO, 1); os_timer_disarm(&check_door_status_timer); os_timer_setfn(&check_door_status_timer, (os_timer_func_t *) check_door_status_cb, (void *) 0); os_timer_arm(&check_door_status_timer, CHECK_DOOR_DELAY, 1); }
static void ICACHE_FLASH_ATTR initDone_cb() { TESTP("Start test\n"); easygpio_pinMode(LED, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputEnable(LED, 0); easygpio_pinMode(XMIT, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputEnable(XMIT, 0); os_timer_disarm(&xmit_timer); os_timer_setfn(&xmit_timer, (os_timer_func_t *) xmitWordCb, NULL); os_timer_arm(&xmit_timer, 2000, true); // repeat every 2S hw_timer_init(FRC1_SOURCE, 1); hw_timer_set_func(hw_timer_cb); hw_timer_arm(PULSE_WIDTH); }
/** * Initiates the Ping_Data structure and sets the GPIOs */ bool ICACHE_FLASH_ATTR ping_init(Ping_Data *pingData, int8_t triggerPin, int8_t echoPin, Ping_Unit unit) { pingData->triggerPin = triggerPin; pingData->echoPin = echoPin; pingData->unit = unit; bool singlePinMode = false; if (triggerPin == echoPin) { singlePinMode = true; } else { if (!easygpio_pinMode(pingData->triggerPin, EASYGPIO_NOPULL, EASYGPIO_OUTPUT)){ os_printf("ping_init: Error: failed to set pinMode on trigger pin\n"); return false; } GPIO_OUTPUT_SET(pingData->triggerPin, PING_TRIGGER_DEFAULT_STATE); } if (easygpio_attachInterrupt(pingData->echoPin, EASYGPIO_NOPULL, ping_intr_handler, NULL)) { ping_allEchoPins |= BIT(pingData->echoPin); if (singlePinMode) { // easygpio_attachInterrupt() disables output, enable it again GPIO_OUTPUT_SET(pingData->triggerPin, PING_TRIGGER_DEFAULT_STATE); } os_printf("\nInitiated ping module with trigger pin=%d echo pin=%d.\n\n",pingData->triggerPin, pingData->echoPin); pingData->isInitiated = true; } else { os_printf("ping_init: Error: failed to set interrupt on echo pin %d\n", pingData->echoPin); pingData->isInitiated = false; } return pingData->isInitiated; }
void ICACHE_FLASH_ATTR initOutputs(void) { int id; for (id = 0; id < OUTPUTS; id++) { easygpio_pinMode(outputMap[id], EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputSet(outputMap[id], 0); } }
void ICACHE_FLASH_ATTR initFlowMonitor(void) { easygpio_pinMode(FLOW_SENSOR, EASYGPIO_NOPULL, EASYGPIO_INPUT); oneSecFlowCount = 0; flowAverage = 0; resetFlowReadings(); os_timer_disarm(&flow_timer); os_timer_setfn(&flow_timer, (os_timer_func_t *)flowTimerCb, NULL); os_timer_arm(&flow_timer, 1000, true); // 1 second }
void ICACHE_FLASH_ATTR user_init(void) { uart_init(115200, 115200); // stdout_init(); gpio_init(); wifi_station_set_auto_connect(false); // Needs to be in user_init to apply to this session savedLastAction = lastAction; easygpio_pinMode(LED, EASYGPIO_PULLUP, EASYGPIO_OUTPUT); easygpio_outputSet(LED, 1); system_init_done_cb(&startUp); }
void startMultiFlash(int pCount, uint8 fCount, unsigned int flashTime, unsigned int offTime) { TESTP("Start Flash %d (*%d) %d/%d\n", pCount, fCount, flashTime, offTime); easygpio_pinMode(LED, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputEnable(LED, LED_ON); patternRepeatCount = pCount; flashCounter = flashCount = fCount; flashOnTime = flashTime; patternOffTime = offTime; flashFinishedCb = NULL; flashState = FLASHING_ON; os_timer_disarm(&flash_timer); os_timer_setfn(&flash_timer, (os_timer_func_t *) flashCb, (void *) 0); os_timer_arm(&flash_timer, flashOnTime, false); }
void ICACHE_FLASH_ATTR lcdInit() { easygpio_pinMode(LCD_Light, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputEnable(LCD_Light, 1); easygpio_pinMode(LCD_SCE, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputEnable(LCD_SCE, 1); easygpio_pinMode(LCD_clk, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputEnable(LCD_clk, 0); easygpio_pinMode(LCD_Data, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputEnable(LCD_Data, 0); easygpio_pinMode(LCD_D_C, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputEnable(LCD_D_C, 0); // easygpio_pinMode(LCD_RST, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputSet(LCD_clk, 1); easygpio_outputSet(LCD_clk, 0); easygpio_outputEnable(LCD_SCE, 0); spi(0x21); // Extended Mode spi(0xC0); // Vop = 0x10 spi(0x06); // TC=2 spi(0x13); // Bias = 3 spi(0x20); // Basic mode, H addr spi(0x0c); // Normal mode clearLcd(); }
void ICACHE_FLASH_ATTR initIO(void) { easygpio_pinMode(LED, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputSet(LED, 1); easygpio_pinMode(ACTION_LED, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputSet(ACTION_LED, 0); easygpio_pinMode(PUMP, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputSet(PUMP, 1); // Inverted easygpio_pinMode(ANALOGUE_SELECT, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputSet(ANALOGUE_SELECT, 0); easygpio_pinMode(FLOW_SENSOR, EASYGPIO_PULLUP, EASYGPIO_INPUT); easygpio_outputDisable(FLOW_SENSOR); easygpio_pinMode(SWITCH, EASYGPIO_PULLUP, EASYGPIO_INPUT); easygpio_outputDisable(SWITCH); easygpio_pinMode(TOGGLE, EASYGPIO_PULLUP, EASYGPIO_INPUT); easygpio_outputDisable(TOGGLE); }
void user_init(void) { gpio_init(); stdout_init(); easygpio_pinMode(LCD_Light, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(LCD_SCE, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(LCD_clk, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(LCD_Data, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(LCD_D_C, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(LCD_RST, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(SWITCH, EASYGPIO_PULLUP, EASYGPIO_INPUT); easygpio_outputDisable(SWITCH); lcdReset(); lightOn(); wifi_station_set_auto_connect(false); wifi_station_set_reconnect_policy(true); system_init_done_cb(&initDone_cb); }
inline void gpio_user_init() { easygpio_pinMode(WSGPIO, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); //easygpio_pinMode(5, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); }
void ICACHE_FLASH_ATTR initPump(void) { easygpio_pinMode(PUMP, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_outputEnable(PUMP, 0); pumpState_OffAuto(); }
void ICACHE_FLASH_ATTR initInputs(void) { easygpio_pinMode(PIN_DHT1, EASYGPIO_PULLUP, EASYGPIO_INPUT); easygpio_pinMode(PIN_DHT2, EASYGPIO_PULLUP, EASYGPIO_INPUT); easygpio_pinMode(PIN_PIR1, EASYGPIO_NOPULL, EASYGPIO_INPUT); easygpio_pinMode(PIN_PIR2, EASYGPIO_NOPULL, EASYGPIO_INPUT); }