Stima V3
- Howto per Stima versione 3
- Caratteristiche hardware delle singole board
- Configurazioni hardware dei moduli Stima
- Configurazioni software dei moduli Stima
- Compilazione e caricamento del bootloader Digitecoboot
- Firmware in formato binario
- Upload del firmware nel modulo master tramite micro SD-Card attraverso Digitecoboot
- Upload del firmware nei moduli non master tramite micro SD-Card attraverso Digitecoboot
- Configurazione moduli e sensori
- Assemblaggio stazione Stima
- Appendici
- Howto per Stima versione 3.2
- Guida per lo sviluppo software
- Documentazione del codice
addr16_tbin_value_tBitBangedSPIconfiguration_tconfiguration_t::module_main_versionconfiguration_t::module_configuration_versionconfiguration_t::module_typeconfiguration_t::i2c_addressconfiguration_t::is_oneshotconfiguration_t::leaf_calibration_thresholdconfiguration_t::module_versionconfiguration_t::is_continuousconfiguration_t::adc_voltage_max_panelconfiguration_t::adc_voltage_max_batteryconfiguration_t::adc_voltage_offset_1configuration_t::adc_voltage_offset_2configuration_t::adc_voltage_minconfiguration_t::adc_voltage_maxconfiguration_t::adc_calibration_offsetconfiguration_t::adc_calibration_gainconfiguration_t::sensor_rad_maxconfiguration_t::sensor_voltage_maxconfiguration_t::tipping_bucket_time_msconfiguration_t::rain_for_tipconfiguration_t::sensorsconfiguration_t::sensors_countconfiguration_t::report_secondsconfiguration_t::constantdataconfiguration_t::constantdata_countconfiguration_t::is_dhcp_enableconfiguration_t::ethernet_macconfiguration_t::ipconfiguration_t::netmaskconfiguration_t::gatewayconfiguration_t::primary_dns
constantdata_tdata_tdb_data_tdbStatus_tdbThreaddbThread::dbThread()dbThread::~dbThread()dbThread::Cleanup()dbThread::Run()dbThread::doDb()dbThread::db_exec()dbThread::db_obsolete()dbThread::db_remove()dbThread::db_setup()dbThread::data_purge()dbThread::data_recovery()dbThread::data_set_recovery()dbThread::db_restart()dbThread::datadbThread::dbdbThread::sqlite_memorydbThread::sqlite_statusdbThread::rpcrecoverydbThread::archiveFile
DIRFatFileDescFATFSFILINFOfloat_observation_tgeoref_tgps_data_tgpsStatus_tgpsThreadihex_stateleaf_wetness_tmeasure_data_tmeasureStatus_tmeasureThreadmeasureThread::measureThread()measureThread::~measureThread()measureThread::Cleanup()measureThread::Begin()measureThread::Run()measureThread::reset_summary_data_in_progress()measureThread::update_summary_data()measureThread::doMeasure()measureThread::enqueueMqttMessage()measureThread::get_summary_data_in_progress()measureThread::datameasureThread::summarydata_in_progressmeasureThread::sdmeasureThread::sensormmeasureThread::sensors_count
mqttMessage_tobservation_tparampm_value_tpublish_data_tpublishStatus_tpublishThreadpublishThread::publishThread()publishThread::~publishThread()publishThread::Cleanup()publishThread::Run()publishThread::mqttSubscribeRpc()publishThread::mqttDisconnect()publishThread::mqttConnect()publishThread::mqttPublish()publishThread::publish_maint()publishThread::publish_status_summary()publishThread::reset_status_summary()publishThread::publish_constantdata()publishThread::archive()publishThread::doPublish()publishThread::datapublishThread::ipstackpublishThread::mqttclientpublishThread::errorcountpublishThread::last_status_sended
readable_data_treadable_data_t::module_typereadable_data_t::module_main_versionreadable_data_t::module_minor_versionreadable_data_t::leaf_wetnessreadable_data_t::module_versionreadable_data_t::pm_samplereadable_data_t::pm_medreadable_data_t::pm_sigmareadable_data_t::bins_medreadable_data_t::bins_sigmareadable_data_t::pm1readable_data_t::pm25readable_data_t::pm10readable_data_t::binsreadable_data_t::powerreadable_data_t::solar_radiationreadable_data_t::rainreadable_data_t::temperaturereadable_data_t::humidityreadable_data_t::thrreadable_data_t::wind
report_treport_t::rain_tipsreport_t::rainreport_t::sample_temperaturereport_t::sample_humidityreport_t::ist_temperaturereport_t::ist_humidityreport_t::min_temperaturereport_t::min_humidityreport_t::avg_temperaturereport_t::avg_humidityreport_t::max_temperaturereport_t::max_humidityreport_t::sigma_temperaturereport_t::sigma_humidityreport_t::sample_speedreport_t::sample_directionreport_t::vavg10_speedreport_t::vavg10_directionreport_t::vavg_speedreport_t::vavg_directionreport_t::peak_gust_speedreport_t::long_gust_speedreport_t::avg_speedreport_t::class_1report_t::class_2report_t::class_3report_t::class_4report_t::class_5report_t::class_6report_t::peak_gust_directionreport_t::long_gust_direction
rpcRecovery_tsample_tsensor_conf_tsensor_tsensordata_tSPISettingsstation_tstation_t::station_t()station_t::longitudestation_t::latitudestation_t::networkstation_t::identstation_t::serverstation_t::ntp_serverstation_t::mqtt_serverstation_t::sampletimestation_t::userstation_t::passwordstation_t::stationslugstation_t::boardslugstation_t::mqttrootpathstation_t::mqttmaintpathstation_t::constantdatastation_t::constantdata_count
stimawifiStatus_tsummarydata_tsummaryStatus_tudp_data_tudpStatus_tudpThreaduint16_observation_twritable_data_twritable_data_t::i2c_addresswritable_data_t::is_oneshotwritable_data_t::leaf_calibration_thresholdwritable_data_t::is_continuouswritable_data_t::adc_voltage_max_panelwritable_data_t::adc_voltage_max_batterywritable_data_t::adc_calibration_offsetwritable_data_t::adc_calibration_gainwritable_data_t::sensor_voltage_maxwritable_data_t::sensor_rad_maxwritable_data_t::tipping_bucket_time_mswritable_data_t::rain_for_tipwritable_data_t::sensorswritable_data_t::adc_voltage_offset_1writable_data_t::adc_voltage_offset_2writable_data_t::adc_voltage_minwritable_data_t::adc_voltage_max
cpp_freertosparameterpulse()setup()heartbeat()reset_target()loop()getch()fill()prog_lamp()spi_transaction()empty_reply()breply()get_version()set_parameters()start_pmode()end_pmode()universal()flash()commit()current_page()write_flash()write_flash_pages()write_eeprom()write_eeprom_chunk()program_page()flash_read()flash_read_page()eeprom_read_page()read_page()read_signature()avrisp()SPIISPErrorpmodeherebuffhbvalhbdeltarst_active_high__pad0__UBRRLinit_spi()deselect()select()xmit_spi()rcv_spi()dly_100us()send_cmd()disk_initialize()disk_readp()CardTypedisk_writep()pagecmp()doFlash()checkFile()UART_puts()UART_newline()UART_putnibble()UART_puthex()UART_puthex16()UART_puthex32()UART_putsP()main()putch()getNch()verifySpace()watchdogReset()watchdogConfig()appStart()writebuffer()read_mem()filenamewrite_flash_page()DSTATUSDRESULTdisk_writep()BYTESHORTWORDWCHARINTUINTLONGDWORDmem_set()mem_cmp()get_fat()clust2sect()get_clust()dir_rewind()dir_next()dir_find()create_name()follow_path()check_fs()pf_mount()pf_open()pf_read()FatFsFRESULTpf_write()pf_lseek()pf_opendir()pf_readdir()ihex_bool_tihex_address_tihex_segment_tihex_count_tihex_flags_tkk_ihex_tihex_record_type_tihex_flagsihex_record_typeihex_read_stateihex_read_state::READ_WAIT_FOR_STARTihex_read_state::READ_COUNT_HIGHihex_read_state::READ_COUNT_LOWihex_read_state::READ_ADDRESS_MSB_HIGHihex_read_state::READ_ADDRESS_MSB_LOWihex_read_state::READ_ADDRESS_LSB_HIGHihex_read_state::READ_ADDRESS_LSB_LOWihex_read_state::READ_RECORD_TYPE_HIGHihex_read_state::READ_RECORD_TYPE_LOWihex_read_state::READ_DATA_HIGHihex_read_state::READ_DATA_LOW
ihex_begin_read()ihex_read_at_address()ihex_read_at_segment()ihex_end_read()ihex_read_byte()ihex_begin_read()ihex_read_at_address()ihex_read_byte()ihex_end_read()ihex_data_read()ihex_read_at_segment()ihex_read()fsstate_tleaf_reading_state_tinit_logging()init_power_down()init_wdt()init_system()init_buffers()init_tasks()init_pins()init_wire()init_rtc()init_sensors()print_configuration()load_configuration()save_configuration()commands()reset_samples_buffer()reset_report_buffer()reset_buffer()exchange_buffers()addSample()readCurrentObservation()writeCurrentObservation()resetObservation()resetBackPmObservation()incrementObservation()addObservation()readBackObservation()samples_processing()leaf_reading_task()command_task()i2c_request_interrupt_handler()i2c_receive_interrupt_handler()configurationreadable_data_1readable_data_2readable_data_read_ptrreadable_data_write_ptrreadable_data_temp_ptrwritable_datawritable_data_ptrreadable_data_addressreadable_data_lengthi2c_rx_datalastcommandi2c_errori2c_timeready_tasks_countawakened_event_occurred_time_msis_startis_stopis_test_readis_leaf_initis_leaf_wetsamples_countdo_buffers_resettimer_counter_msstateleaf_reading_stateinside_transactiontransaction_timeis_event_leaf_readingis_event_command_tasklogPrefix()logSuffix()ISR()i2c_receive_interrupt_handler()copy_buffers()opc_state_topc_state_t::OPC_INITopc_state_t::OPC_SWITCH_ONopc_state_t::OPC_SEND_COMMAND_FAN_DACopc_state_t::OPC_WAIT_RESULT_FAN_DACopc_state_t::OPC_SEND_COMMAND_FAN_ONopc_state_t::OPC_WAIT_RESULT_FAN_ONopc_state_t::OPC_SEND_COMMAND_LASER_ONopc_state_t::OPC_WAIT_RESULT_LASER_ONopc_state_t::OPC_SEND_COMMAND_READ_HISTOGRAMopc_state_t::OPC_WAIT_RESULT_READ_HISTOGRAMopc_state_t::OPC_READ_HISTOGRAMopc_state_t::OPC_ENDopc_state_t::OPC_WAIT_STATE
addSample()observations_processing()make_observation_from_samples()make_value_from_samples_and_observations()opc_task()is_oneshotis_continuouspm1_samplespm25_samplespm10_samplesbins_samplespm1_observationspm25_observationspm10_observationsbins_observationstimer_counteropc_stateis_opc_settedis_opc_first_readhistogram_error_countis_event_opc_taskresetBackObservation()reset_observations_buffer()tests()power_state_tpower_hr_state_tadc1()init_adc()make_report()power_task()power_task_hr()is_testsample_panelsample_batteryaverage_panelaverage_batterysamples_count_panelsamples_error_count_panelsamples_count_batterysamples_error_count_batterytimer_counter_spower_stateis_event_power_taskreset_data()solar_radiation_state_tsolar_radiation_hr_state_tsolar_radiation_hr_state_t::SOLAR_RADIATION_HR_INITsolar_radiation_hr_state_t::SOLAR_RADIATION_HR_READsolar_radiation_hr_state_t::SOLAR_RADIATION_HR_EVALUATEsolar_radiation_hr_state_t::SOLAR_RADIATION_HR_PROCESSsolar_radiation_hr_state_t::SOLAR_RADIATION_HR_ENDsolar_radiation_hr_state_t::SOLAR_RADIATION_HR_WAIT_STATE
solar_radiation_task()solar_radiation_task_hr()sampleaveragesolar_radiation_acquisition_countsamples_error_countsolar_radiation_statesolar_radiation_hr_stateis_event_solar_radiation_tasktipping_bucket_state_treset_buffers()tipping_bucket_task()tipping_bucket_interrupt_handler()is_startedraintipping_bucket_stateis_event_tipping_bucketinit_tipping_bucket_interrupt()sensors_reading_state_tsensors_reading_state_t::SENSORS_READING_INITsensors_reading_state_t::SENSORS_READING_SETUP_CHECKsensors_reading_state_t::SENSORS_READING_POWER_OFFsensors_reading_state_t::SENSORS_READING_POWER_ONsensors_reading_state_t::SENSORS_READING_SETUPsensors_reading_state_t::SENSORS_READING_PREPAREsensors_reading_state_t::SENSORS_READING_IS_PREPAREDsensors_reading_state_t::SENSORS_READING_GETsensors_reading_state_t::SENSORS_READING_IS_GETTEDsensors_reading_state_t::SENSORS_READING_READsensors_reading_state_t::SENSORS_READING_NEXTsensors_reading_state_t::SENSORS_READING_ENDsensors_reading_state_t::SENSORS_READING_WAIT_STATEsensors_reading_state_t::SENSORS_SETUP_CHECK
sensors_reading_task()sensorssensors_counttemperature_sampleshumidity_samplessensors_reading_stateis_event_sensors_readingthPowerOff()thPowerOn()bufferRead()bufferReadBack()bufferPtrResetBack()bufferReset()incrementBuffer()addValue()samples_processing()bufferWrite()bufferPtrReset()make_report()copy_oneshot_data()wind_state_telaborate_circular_buffer()getSDFromUV()wind_task()wind_stateis_event_activate_wind_taskis_event_wind_taskgetSDFromUV()print_registers()cout()sdErrorHalt()clearSerialInput()eraseCard()formatCard()printConfig()cidDmp()csdDmp()errorPrint()mbrDmp()dmpVol()printCardType()printConfig()DISABLE_CS_PINSD_CS_PINcardSectorCountsectorBuffercardFactorym_cardsdm_cidm_csdm_eraseSizem_ocrERASE_SIZESerial1()scanI2CBus()scanFunc()windsonicSerialReset()windsonicReceiveTerminatedMessage()windsonicReceiveMessage()windsonicPowerOff()windsonicPowerOn()windsonicFlush()windsonicEnterConfigMode()windsonicEnterConfigModeAllBaudrate()windsonicInitSafeMode()windsonicConfigure()windsonicSconfigure()getCommand()displayHelp()start_addressend_addressuart_rx_buffer_lengthuart_rx_bufferversionscan_i2c_bus()i2c_solar_radiation_address()i2c_solar_radiation_oneshot()i2c_solar_radiation_offset()i2c_solar_radiation_gain()i2c_solar_radiation_sensor_voltage()i2c_solar_radiation_sensor_radiation()i2c_solar_radiation_save_all()i2c_th_address()i2c_th_oneshot()i2c_th_sensor_type1()i2c_th_sensor_address1()i2c_th_sensor_type2()i2c_th_sensor_address2()i2c_th_save_all()i2c_rain_address()i2c_rain_oneshot()i2c_rain_tipping_bucket_time()i2c_rain_rain_for_tip()i2c_rain_save_all()i2c_power_address()i2c_power_oneshot()i2c_power_voltage_max_panel()i2c_power_voltage_max_battery()i2c_power_save_all()i2c_wind_address()i2c_wind_oneshot()i2c_wind_save_all()windsonic_sconfigurator()windsonic_configurator()encStream()irStream()encButton()serial()outSerial()outLcd()NAVROOT()display_status()display_nostatus()idle()look_at_serial_message()encoderprocess()do_i2c_solar_radiation_address()do_i2c_solar_radiation_oneshot()do_i2c_solar_radiation_offset()do_i2c_solar_radiation_gain()do_i2c_solar_radiation_sensor_voltage()do_i2c_solar_radiation_sensor_radiation()do_i2c_solar_radiation_save()do_i2c_th_address()do_i2c_th_oneshot()do_i2c_th_sensor_type1()do_i2c_th_sensor_address1()do_i2c_th_sensor_type2()do_i2c_th_sensor_address2()do_i2c_th_save()do_i2c_rain_address()do_i2c_rain_oneshot()do_i2c_rain_rain_for_tip()do_i2c_rain_tipping_bucket_time()do_i2c_rain_save()do_i2c_power_address()do_i2c_power_oneshot()do_i2c_power_voltage_max_panel()do_i2c_power_voltage_max_battery()do_i2c_power_save()do_i2c_wind_address()do_i2c_wind_oneshot()do_windsonic_sconfigurator()do_windsonic_configurator()do_i2c_wind_save()loop_menu()loop_serial()lcdlast_statustrue_idle_statusradiationAddressradiationOneshotradiationOffsetradiationGainradiationSensorVoltageradiationSensorRadiationthAddressthOneshotthSensorType1thSensorAddress1thSensorType2thSensorAddress2rainAddressrainOneshotrainTippingBucketTimerainRainForTippowerAddresspowerOneshotpowerVoltageMaxPanelpowerVoltageMaxBatterywindAddresswindOneshotwindTypedoNothingnoEventnoStyleencoderirencBtn_mapinputsListnodesserialTopslcdTopsfilePick()i2c_master_save_i2c_all()i2c_master_save_eeprom_all()sdcardFormat()do_i2c_master_config()do_i2c_master_save()pathsupervisor_state_tsupervisor_state_t::SUPERVISOR_INITsupervisor_state_t::SUPERVISOR_CONNECTION_LEVEL_TASKsupervisor_state_t::SUPERVISOR_WAIT_CONNECTION_LEVEL_TASKsupervisor_state_t::SUPERVISOR_TIME_LEVEL_TASKsupervisor_state_t::SUPERVISOR_MANAGE_LEVEL_TASKsupervisor_state_t::SUPERVISOR_TEST_SDCARDsupervisor_state_t::SUPERVISOR_ENDsupervisor_state_t::SUPERVISOR_WAIT_STATE
ethernet_state_ttime_state_trpc_state_trealreboot()getSystemTime()init_rpc()init_timer1()start_timer()stop_timer()interrupt_task_1s()set_default_configuration()setNextTimeForSensorReading()extractSensorsParams()configure()prepare()getjson()prepandget()reboot()supervisor_task()sensors_reading_task()rtc_task()time_task()ethernet_task()rtc_interrupt_handler()Serial1()wdt_enable()wdt_reset()wdt_disable()power_adc_disable()power_spi_disable()power_timer0_disable()power_timer1_disable()power_timer2_disable()power_adc_enable()power_spi_enable()power_timer0_enable()power_timer1_enable()power_timer2_enable()set_sleep_mode()sleep_enable()sleep_cpu()sleep_disable()is_datetime_sethave_to_rebootreadable_configurationwritable_configurationeth_udp_clienteth_tcp_clientis_first_rundo_reset_first_runis_first_testis_time_setis_time_for_sensors_reading_updatedis_client_connectedis_client_udp_socket_openis_event_client_executedis_event_time_executeddo_ntp_synclast_ntp_syncjson_sensors_datajson_sensors_data_testsystem_timenext_ptr_time_for_sensors_readingnext_ptr_time_for_testing_sensorssensor_reading_failed_countsensor_reading_timeptr_time_datastima_namesupervisor_stateethernet_statetime_staterpc_stateis_event_supervisoris_event_sensors_reading_rpcis_event_rtcis_event_timeis_event_ethernetis_event_rpcrtcreset_wire()clearSD()db_exec_callback()db_obsolete_callback()gps_gpsgps_mgpsdisplayposenqueueMqttMessage()doMeasure()web_values()publish_maint()publish_constantdata()webserver()u8g2()rtc_set_time()Json()Data()FullPage()writeconfig()handle_FullPage()handle_Data()handle_Json()handle_NotFound()saveConfigCallback()rmap_get_remote_config()firmware_upgrade()readconfig_rmap()writeconfig_rmap()rmap_config()readconfig()measureAndPublish()reboot()update_portwifiManagerhttpClientnetworkClientloggingmutexi2cmutexgeomutexfrtosRTCshouldSaveConfigpmspresentoledpresentbuttonsummarydatageorefstimawifiStatusstationudp_datagps_datadb_datameasure_datapublish_datapixelsstatusloopinitprint_reset_reason()verbose_print_reset_reason()set_status_summary()display_summary_data()printLocalTime()timeavailable()Geo()handle_Geo()ntp_set_time()displayStatus()dataRecovery()status_eUDPudp_gpsudp_mgpstest_read_ht()I2C_ClearBus_NEW()check_i2c_bus()reset_i2c_buffer()received_data()send_data()request_data()is_event_request_datais_event_send_datastart_print_status_delay_msstart_i2c_check_delay_msi2c_request_delay_msstart_time_i2c_request_delay_msi2c_send_delay_msstart_time_i2c_send_delay_msrx_bufferrx_buffer_lengthtx_buffertx_buffer_lengthrq_bufferrq_buffer_lengthi2c_rx_error_counti2c_rx_success_counti2c_tx_error_counti2c_tx_success_counti2c_rq_error_counti2c_rq_success_counttoggle()ledLCD_COLSLCD_ROWSloggingStream()SDlogFileintValue1intValue2longValue1longValue2boolValue1boolValue2charArraystringValue1floatValuedoubleValuemessageArrived()ipstack()initmodem()connect()publish()arrivedcounts800clientpublish()send_responsegetNtp()resetrtc()initrtc()getrtc()setrtc()current_timetest_fileSPI_begin()SPI_transfer()fatTagFound()find_firmware_data()write_page()sdcard_loader()spiReceive()waitNotBusy()chipSelectHigh()chipSelectLow()cardCommand()cardAcmd()SdCard_begin()SdCard_readBlock()SdCard_writeBlock()values_readed_from_sensoracquiring_sensors_delay_mstesting_sensors_delay_mssensormacquiring_sensor_delay_mstesting_sensor_delay_msgsm_state_tgsm_state_t::GSM_INITgsm_state_t::GSM_SWITCH_ONgsm_state_t::GSM_AUTOBAUDgsm_state_t::GSM_SETUPgsm_state_t::GSM_START_CONNECTIONgsm_state_t::GSM_CHECK_OPERATIONgsm_state_t::GSM_OPEN_UDP_SOCKETgsm_state_t::GSM_SUSPENDgsm_state_t::GSM_STOP_CONNECTIONgsm_state_t::GSM_WAIT_FOR_SWITCH_OFFgsm_state_t::GSM_SWITCH_OFFgsm_state_t::GSM_ENDgsm_state_t::GSM_WAIT_STATE
gsm_task()is_event_gsmgsm_state
- Manuale Utente
- Hardware
- Funzioni software
- Messa in opera
- Configurazione sensori
- Configurazione moduli
- Configurazione stazione
- Aggiornamento Firmware
- Recupero dati
- Remote Procedure Call
- Temporizzazioni
- Salvataggio e invio dati
- Diagnostica
The C++ API documentation is also available as doxygen documentation.