int8_t kty_calibrate(uint16_t sensorwert) { int32_t volt = sensorwert; int8_t calibration; volt *= 2500; volt /= 1023; int32_t R = 1000L; R *= 5000L - volt; R /= volt; if (R < 2320 && R > 2080){ calibration = 2200L - R; eeprom_save_char (kty_calibration, calibration); eeprom_update_chksum(); return 1; } return 0; }
void eeprom_init (void) { uip_ipaddr_t ip; (void) ip; /* Keep GCC quiet. */ #ifdef ETHERNET_SUPPORT eeprom_save_P (mac, PSTR (CONF_ETHERSEX_MAC), 6); #endif #if (defined(IPV4_SUPPORT) && !defined(BOOTP_SUPPORT) && !defined(DHCP_SUPPORT)) || defined(IPV6_STATIC_SUPPORT) set_CONF_ETHERSEX_IP (&ip); eeprom_save (ip, &ip, IPADDR_LEN); #ifdef ETHERNET_SUPPORT set_CONF_ETHERSEX_GATEWAY (&ip); eeprom_save (gateway, &ip, IPADDR_LEN); #endif #ifdef IPV4_SUPPORT set_CONF_ETHERSEX_IP4_NETMASK (&ip); eeprom_save (netmask, &ip, IPADDR_LEN); #endif #endif #ifdef DNS_SUPPORT set_CONF_DNS_SERVER (&ip); eeprom_save (dns_server, &ip, IPADDR_LEN); #endif #ifdef PAM_SINGLE_USER_EEPROM_SUPPORT /* Copy the httpd's password. */ eeprom_save_P (pam_username, PSTR (PAM_SINGLE_USERNAME), 16); eeprom_save_P (pam_password, PSTR (PAM_SINGLE_PASSWORD), 16); #endif #ifdef ADC_VOLTAGE_SUPPORT eeprom_save_int (adc_vref, ADC_REF_VOLTAGE); #endif #ifdef KTY_SUPPORT eeprom_save_char (kty_calibration, 0); #endif #ifdef MQ2_SUPPORT eeprom_save_long (mq2_calibration, 0); #endif #ifdef MQ135_SUPPORT eeprom_save_long (mq135_calibration, 0); #endif #ifdef STELLA_EEPROM uint8_t stella_temp[10] = { 0 }; eeprom_save (stella_channel_values, stella_temp, 10); #endif #ifdef DMX_FXSLOT_SUPPORT struct fxslot_struct_stripped fxslots_temp[DMX_FXSLOT_AMOUNT] = { {0,0,0,0,0,0,0} }; eeprom_save (dmx_fxslots, fxslots_temp, DMX_FXSLOT_AMOUNT*sizeof(struct fxslot_struct_stripped)); #endif #ifdef ONEWIRE_NAMING_SUPPORT ow_name_t temp_name; memset(&temp_name, 0, sizeof(ow_name_t)); for (int8_t i = 0; i < OW_SENSORS_COUNT; i++) { eeprom_save(ow_names[i], &temp_name, sizeof(ow_name_t)); } #endif #ifdef SMS77_EEPROM_SUPPORT eeprom_save_P (sms77_username, PSTR (CONF_SMS77_USER), SMS77_VALUESIZE); eeprom_save_P (sms77_password, PSTR (CONF_SMS77_PASS), SMS77_VALUESIZE); eeprom_save_P (sms77_receiver, PSTR (CONF_SMS77_TO), SMS77_VALUESIZE); eeprom_save_P (sms77_type, PSTR (CONF_SMS77_TYPE), SMS77_VALUESIZE); #endif #ifdef JABBER_EEPROM_SUPPORT eeprom_save_P (jabber_username, PSTR (CONF_JABBER_USERNAME), JABBER_VALUESIZE); eeprom_save_P (jabber_password, PSTR (CONF_JABBER_PASSWORD), JABBER_VALUESIZE); eeprom_save_P (jabber_resource, PSTR (CONF_JABBER_RESOURCE), JABBER_VALUESIZE); eeprom_save_P (jabber_hostname, PSTR (CONF_JABBER_HOSTNAME), JABBER_VALUESIZE); #endif #ifdef MOTD_SUPPORT eeprom_save_P (motd_text, PSTR (CONF_MOTD_DEFAULT), MOTD_VALUESIZE); #endif #ifdef CRON_EEPROM_SUPPORT uint8_t count = 0; eeprom_save_offset(crontab, 0, &count, sizeof(count)); #endif #ifdef TANKLEVEL_SUPPORT tanklevel_params_t tanklevel_temp = { .sensor_offset = TANKLEVEL_SENSOR_OFFSET, .med_density = TANKLEVEL_MED_DENSITY, .ltr_per_m = TANKLEVEL_LTR_PER_M, .ltr_full = TANKLEVEL_LTR_FULL, .raise_time = TANKLEVEL_RAISE_TIME, .hold_time = TANKLEVEL_HOLD_TIME }; eeprom_save (tanklevel_params, &tanklevel_temp, sizeof(tanklevel_params_t)); #endif eeprom_update_chksum (); }
void eeprom_init (void) { uip_ipaddr_t ip; (void) ip; /* Keep GCC quiet. */ #ifdef ETHERNET_SUPPORT eeprom_save_P (mac, PSTR (CONF_ETHERRAPE_MAC), 6); #endif #if (defined(IPV4_SUPPORT) && !defined(BOOTP_SUPPORT) && !defined(DHCP_SUPPORT)) || defined(IPV6_STATIC_SUPPORT) set_CONF_ETHERRAPE_IP (&ip); eeprom_save (ip, &ip, IPADDR_LEN); #ifdef ETHERNET_SUPPORT set_CONF_ETHERRAPE_GATEWAY (&ip); eeprom_save (gateway, &ip, IPADDR_LEN); #endif #ifdef IPV4_SUPPORT set_CONF_ETHERRAPE_IP4_NETMASK (&ip); eeprom_save (netmask, &ip, IPADDR_LEN); #endif #endif #ifdef DNS_SUPPORT set_CONF_DNS_SERVER (&ip); eeprom_save (dns_server, &ip, IPADDR_LEN); #endif #ifdef PAM_SINGLE_USER_EEPROM_SUPPORT /* Copy the httpd's password. */ eeprom_save_P (pam_username, PSTR (PAM_SINGLE_USERNAME), 16); eeprom_save_P (pam_password, PSTR (PAM_SINGLE_PASSWORD), 16); #endif #ifdef KTY_SUPPORT eeprom_save_char (kty_calibration, 0); #endif #ifdef STELLA_EEPROM uint8_t stella_temp[10] = { 0 }; eeprom_save (stella_channel_values, stella_temp, 10); #endif #ifdef DMX_FXSLOT_SUPPORT struct fxslot_struct_stripped fxslots_temp[DMX_FXSLOT_AMOUNT] = { {0,0,0,0,0,0,0} }; eeprom_save (dmx_fxslots, fxslots_temp, DMX_FXSLOT_AMOUNT*sizeof(struct fxslot_struct_stripped)); #endif #ifdef SMS77_EEPROM_SUPPORT eeprom_save_P (sms77_username, PSTR (CONF_SMS77_USER), SMS77_VALUESIZE); eeprom_save_P (sms77_password, PSTR (CONF_SMS77_PASS), SMS77_VALUESIZE); eeprom_save_P (sms77_receiver, PSTR (CONF_SMS77_TO), SMS77_VALUESIZE); eeprom_save_P (sms77_type, PSTR (CONF_SMS77_TYPE), SMS77_VALUESIZE); #endif #ifdef JABBER_EEPROM_SUPPORT eeprom_save_P (jabber_username, PSTR (CONF_JABBER_USERNAME), JABBER_VALUESIZE); eeprom_save_P (jabber_password, PSTR (CONF_JABBER_PASSWORD), JABBER_VALUESIZE); eeprom_save_P (jabber_resource, PSTR (CONF_JABBER_RESOURCE), JABBER_VALUESIZE); eeprom_save_P (jabber_hostname, PSTR (CONF_JABBER_HOSTNAME), JABBER_VALUESIZE); #endif #ifdef MOTD_SUPPORT eeprom_save_P (motd_text, PSTR (CONF_MOTD_DEFAULT), MOTD_VALUESIZE); #endif eeprom_update_chksum (); }