Example #1
0
int16_t
parse_cmd_date(char *cmd, char *output, uint16_t len)
{
  clock_datetime_t date;
  clock_current_localtime(&date);
  return generate_time_string(&date, output, len);
}
Example #2
0
int16_t parse_cmd_date(char *cmd, char *output, uint16_t len)
{
  char *weekdays = "Sun\0Mon\0Tue\0Wed\0Thu\0Fri\0Sat";
  struct clock_datetime_t date;
  clock_current_localtime(&date);

  return ECMD_FINAL(snprintf_P(output, len, PSTR("%.2d:%.2d:%.2d %.2d.%.2d.%.2d %s"),
                    date.hour, date.min, date.sec, date.day, date.month, date.year % 100,
                    weekdays + date.dow * 4));
}
Example #3
0
int16_t parse_cmd_date(char *cmd, char *output, uint16_t len)
{
  struct clock_datetime_t date;
  clock_current_localtime(&date);

  return ECMD_FINAL(snprintf_P(output, len, PSTR("%s %02d.%02d.%04d %02d:%02d:%02d"),
                               weekdays[date.dow],
                               date.day, date.month, date.year + 1900,
                               date.hour, date.min, date.sec, date.day));
}
Example #4
0
/*
  If enabled in menuconfig, this function is periodically called
  change "timer(100,app_sample_periodic)" if needed

  Wird ca alle 200ms aufgerufen
*/
int16_t rainmaster_periodic(void) {

  // Uhrzeit aktualisieren
  clock_current_localtime(&date);

  // Eingänge und Sensore abfragen
  rainmaster_check_inputs();
  
  // GUI Anzeige abarbeiten (Pointer auf Anzeigefunktion im Menu)
  display_func();

  return ECMD_FINAL_OK;
}
Example #5
0
/*
 * see fat_config.h for documentation
 */
void
get_datetime(uint16_t * year, uint8_t * month, uint8_t * day, uint8_t * hour,
             uint8_t * min, uint8_t * sec)
{
  clock_datetime_t date;
  clock_current_localtime(&date);

  *day = date.day;
  *month = date.month;
  *year = date.year + 1900;
  *hour = date.hour;
  *min = date.min;
  *sec = date.sec;
}
Example #6
0
void
bulbdial_clock(uint8_t delay){
  struct clock_datetime_t date;
  clock_current_localtime(&date);
  clear();
  set(0x0001 << (date.sec/5));
  PIN_SET(BULBDIAL_MINUTES);
  for (uint8_t i = delay; i; i--)
    _delay_ms(1);
  PIN_CLEAR(BULBDIAL_MINUTES);
  clear();
  set(0x0001 << (date.min/5));
  PIN_SET(BULBDIAL_HOURS);
  for (uint8_t i = delay; i; i--)
    _delay_ms(1);
  PIN_CLEAR(BULBDIAL_HOURS);
}
Example #7
0
/*
  If enabled in menuconfig, this function is periodically called
  change "timer(100,app_sample_periodic)" if needed
*/
int16_t
app_sample_periodic(void)
{
  APPSAMPLEDEBUG ("periodic\n");
  // enter your code here

  clock_datetime_t date;
  clock_current_localtime(&date);

  hd44780_goto(3, 0);

  char tmp_buf [20];
  sprintf (tmp_buf,"%02d.%02d.%04d  %02d:%02d:%02d", date.day, date.month, date.year + 1900, date.hour, date.min, date.sec);
  fputs (tmp_buf, &lcd);



  return ECMD_FINAL_OK;
}
Example #8
0
/*
* lome6 periodical timer function for display and one wire convert command
*
* if onewire is supported start onewire temperature convert
* if lcd is supported display various information
*/
void lome6_timer(void) {

#ifdef LOME6_ONEWIRE_SUPPORT
	// read 1w temperatures
	iTemperaturePSU = lome6_get_temperature(&romcodePSU);
	iTemperatureAIR = lome6_get_temperature(&romcodeAIR);
	iTemperatureRAM = lome6_get_temperature(&romcodeRAM);
#endif // LOME6_ONEWIRE_SUPPORT

#ifdef LOME6_LCD_SUPPORT
	wclear(ttyWindow);
	
	if (iLCDPage == 0) {

		// display uptime and date+time
		uint32_t working_hours = (clock_get_time() - clock_get_startup()) / 60;

		struct clock_datetime_t datetime;
		clock_current_localtime(&datetime);

		wprintw_P(ttyWindow, PSTR("%02d:%02d %02d.%02d.%04d"), datetime.hour, datetime.min, datetime.day, datetime.month, (datetime.year + 1900));
		wclrtoeol(ttyWindow);
		wmove(ttyWindow, 1, 0);
		wprintw_P(ttyWindow, PSTR("Uptime: %02lu:%02d"), working_hours / 60, working_hours % 60);
		wclrtoeol(ttyWindow);
		
#ifndef LOME6_ONEWIRE_SUPPORT
		if (!PIN_HIGH(POWER_STATE))
			iLCDPage = 4;
		else
			iLCDPage = 0;
#else
		iLCDPage++;
#endif

#ifdef LOME6_ONEWIRE_SUPPORT
	} else if (iLCDPage == 1) {

		// display onewire temperature sensor data
		wprintw_P(ttyWindow, PSTR("Temperature"));
		wclrtoeol(ttyWindow);
		wmove(ttyWindow, 1, 0);
		wprintw_P(ttyWindow, PSTR("AIR: %02d.%d"), iTemperatureAIR / 10, iTemperatureAIR % 10);
		wclrtoeol(ttyWindow);

		iLCDPage++;

	} else if (iLCDPage == 2) {

		// display onewire temperature sensor data
		wprintw_P(ttyWindow, PSTR("Temperature:"));
		wclrtoeol(ttyWindow);
		wmove(ttyWindow, 1, 0);
		wprintw_P(ttyWindow, PSTR("RAM: %02d.%d"), iTemperatureRAM / 10, iTemperatureRAM % 10);
		wclrtoeol(ttyWindow);

		iLCDPage++;

	} else if (iLCDPage == 3) {

		// display onewire temperature sensor data
		wprintw_P(ttyWindow, PSTR("Temperature"));
		wclrtoeol(ttyWindow);
		wmove(ttyWindow, 1, 0);
		wprintw_P(ttyWindow, PSTR("PSU: %02d.%d"), iTemperaturePSU / 10, iTemperaturePSU % 10);
		wclrtoeol(ttyWindow);

		iLCDPage++;

#endif //LOME6_ONEWIRE_SUPPORT
	} else if (iLCDPage == 4) {
	
		// display temperature data
		wprintw_P(ttyWindow, PSTR("Temperature"));
		wclrtoeol(ttyWindow);
		wmove(ttyWindow, 1, 0);
		wprintw_P(ttyWindow, PSTR("CPU: %02d.%d"), iTemperatureCPU / 10, iTemperatureCPU % 10);
		wclrtoeol(ttyWindow);
		iLCDPage++;

	} else if (iLCDPage == 5) {

		// display temperature data
		wprintw_P(ttyWindow, PSTR("Temperature"));
		wclrtoeol(ttyWindow);
		wmove(ttyWindow, 1, 0);
		wprintw_P(ttyWindow, PSTR("SB: %02d.%d"), iTemperatureSB / 10, iTemperatureSB % 10);
		wclrtoeol(ttyWindow);
		iLCDPage = 0;

	}

	// start a new convert in next round
	ow_temp_start_convert_nowait(NULL);
#endif // LOME6_LCD_SUPPORT

}