Esempio n. 1
0
//==============================================================================
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);
}
Esempio n. 3
0
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);
}
Esempio n. 4
0
/**
 * 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;
}
Esempio n. 5
0
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);
	}
}
Esempio n. 6
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
}
Esempio n. 7
0
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);
}
Esempio n. 8
0
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);
}
Esempio n. 9
0
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();
}
Esempio n. 10
0
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);
}
Esempio n. 11
0
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);
}
Esempio n. 12
0
inline void gpio_user_init() {
    easygpio_pinMode(WSGPIO, EASYGPIO_NOPULL, EASYGPIO_OUTPUT);
    //easygpio_pinMode(5, EASYGPIO_NOPULL, EASYGPIO_OUTPUT);
}
Esempio n. 13
0
void ICACHE_FLASH_ATTR initPump(void) {
	easygpio_pinMode(PUMP, EASYGPIO_NOPULL, EASYGPIO_OUTPUT);
	easygpio_outputEnable(PUMP, 0);
	pumpState_OffAuto();
}
Esempio n. 14
0
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);
}