Files
OpenBK7231T_App/platforms/obk_main.cmake
MaxineMuster a34f90bcbb DS3231 RTC driver embedded in "local clock" (PR#1729) (#1792)
* Try NTP split update to actual source

* fix windows makefiles and timed_events

* fix typo

* Fix sprintf format

* sprintf format - next try to fix for ESP and ESP8266

* sprintf - special case for ESP8266

* Adding GUI button to set clock

* fix

* Add debug output

* fix missing HTTP output
use original obk_config.h - only renaming functions - to see filesizes

* limit functions to NTP ode CLOCK present

* try fix selftests

* Enable simple clock for all platforms, even if NTP is not enabled

* test fixing merge-conflict

* try fixing merge conflicts #1

* try fix merge conflict

* Fix typos
consolidate time display on main page
fix double comments preventing several documentation details ($mday, $month ...) on docs/constants.md
enabling more time stuff for W800 for local testing.

* Fix setDST argument passing

* only test DST if clock is running

* Fix setting epoch time - use atol(<string arg>) instead of Tokenizer_GetArgInteger(0) for epoch
Change user_main.c to use xticks as uptime for g_secondsElapsed

* Fix g_secondsElapesd for Windows - no xTicks there so stick to old way with g_secondsElapesd++ here ...

* Fix simulator build
remove additional defines for W800 used for testing

* Use esp_timer_get_time() instead of xTicks for ESP.
Seems much better, 30 seconds difference in one day
(used to be over 10 minutes off in 12 hours)

* Include DS3231 code

* Include DS3231 RTC driver

* Try simple fix for TXW81X without RTOS

* Second try fix TXW81X

* Fix comments for doc

* fix obk_config (still using "#define ENABLE_NTP_SUNRISE_SUNSET" instead of new "#define ENABLE_CLOCK_SUNRISE_SUNSET")
fix RDA5981
(as already done in branch Split_NTP_new)

* fix deviceclock code for corrected #define

* enable DS3231 driver for all platforms to test compilation and compare sizes

* fix selftest DST and sunrise/sunset (command names are "CLOCK_..." not "NTP...")

* Fix selftest for DST and sunset/sunrise events

* Add debug to try fixing selftest issue

* more debug

* Disable bedug output after fix.

* Disable DS3231 for all platforms. To tes, use previous commit

* Fix comments and handling of year when setting time of DS3231
Switch to internal time functions to reduce flash usage (avoid gmtime and mktime)

* Fix direct acces of NTP-time via g_ntpTime - use function "Clock_GetCurrentTime()"
switch to obktime instead of time.h "gmtime"

* Fix missing include for deviceclock and obktime

* made ds3231 driver dependent on "#define ENABLE_DRIVER_DS3231"
change "deviceclock.c" to set DS3231 RTC on every clock set command if driver is running, so e.g. every NTP update will also adjust RTC time

* fix missing includes for DRV_IsRunning() and DS3231_SetEpoch()

* introducing DS3231_informClockWasSet(bool force) - called by drv_deviceclock whenever clock is set.
so DS3231 driver can ste the clock, if needed - using "force" will force setting (no supprise ;-))

* Fixes to drv_main.c (missing args for onHassDiscovery)
Fixed missing arg "bPreState" in XX_AppendInformationToHTTPIndexPage()
Changed name from CLOCK to TIME
changed some "gmtime" to obktime "calculateComponents()a

* fixes

* fix obk_config.h

* fix missing include

* fix include for drv_txw81x_camera.c

* Directly call TIME "driver" functions, but don't use as real driver - so hiding it's presence in GUI

* fix missing OnEverySecond for TIME

* Prepare for merge: disable DS3231 driver for all platforms

* fix broken obk_config.h

* revert unintended change of src/driver/drv_max72xx_single.c
2025-12-04 14:46:51 +01:00

257 lines
10 KiB
CMake

set(OBKM_SRC
${OBK_SRCS}user_main.c
${OBK_SRCS}base64/base64.c
${OBK_SRCS}bitmessage/bitmessage_read.c
${OBK_SRCS}bitmessage/bitmessage_write.c
${OBK_SRCS}cmnds/cmd_berry.c
${OBK_SRCS}cmnds/cmd_channels.c
${OBK_SRCS}cmnds/cmd_enums.c
${OBK_SRCS}cmnds/cmd_eventHandlers.c
${OBK_SRCS}cmnds/cmd_if.c
${OBK_SRCS}cmnds/cmd_main.c
${OBK_SRCS}cmnds/cmd_newLEDDriver_colors.c
${OBK_SRCS}cmnds/cmd_newLEDDriver.c
${OBK_SRCS}cmnds/cmd_repeatingEvents.c
${OBK_SRCS}cmnds/cmd_send.c
${OBK_SRCS}cmnds/cmd_script.c
${OBK_SRCS}cmnds/cmd_simulatorOnly.c
${OBK_SRCS}cmnds/cmd_tasmota.c
${OBK_SRCS}cmnds/cmd_tcp.c
${OBK_SRCS}cmnds/cmd_test.c
${OBK_SRCS}cmnds/cmd_tokenizer.c
${OBK_SRCS}devicegroups/deviceGroups_read.c
${OBK_SRCS}devicegroups/deviceGroups_util.c
${OBK_SRCS}devicegroups/deviceGroups_write.c
${OBK_SRCS}hal/generic/hal_adc_generic.c
${OBK_SRCS}hal/generic/hal_flashConfig_generic.c
${OBK_SRCS}hal/generic/hal_flashVars_generic.c
${OBK_SRCS}hal/generic/hal_generic.c
${OBK_SRCS}hal/generic/hal_main_generic.c
${OBK_SRCS}hal/generic/hal_pins_generic.c
${OBK_SRCS}hal/generic/hal_wifi_generic.c
${OBK_SRCS}hal/generic/hal_uart_generic.c
${OBK_SRCS}httpserver/hass.c
${OBK_SRCS}httpserver/http_basic_auth.c
${OBK_SRCS}httpserver/http_fns.c
${OBK_SRCS}httpserver/http_tcp_server.c
${OBK_SRCS}httpserver/new_tcp_server.c
${OBK_SRCS}httpserver/json_interface.c
${OBK_SRCS}httpserver/new_http.c
${OBK_SRCS}httpserver/rest_interface.c
${OBK_SRCS}mqtt/new_mqtt_deduper.c
${OBK_SRCS}jsmn/jsmn.c
${OBK_SRCS}logging/logging.c
${OBK_SRCS}mqtt/new_mqtt.c
${OBK_SRCS}new_cfg.c
${OBK_SRCS}new_common.c
${OBK_SRCS}new_ping.c
${OBK_SRCS}new_pins.c
${OBK_SRCS}rgb2hsv.c
${OBK_SRCS}tiny_crc8.c
${OBK_SRCS}httpclient/http_client.c
${OBK_SRCS}httpclient/utils_net.c
${OBK_SRCS}httpclient/utils_timer.c
${OBK_SRCS}littlefs/our_lfs.c
${OBK_SRCS}driver/drv_main.c
${OBK_SRCS}driver/drv_adcButton.c
${OBK_SRCS}driver/drv_adcSmoother.c
${OBK_SRCS}driver/drv_aht2x.c
${OBK_SRCS}driver/drv_battery.c
${OBK_SRCS}driver/drv_bl0937.c
${OBK_SRCS}driver/drv_bl0942.c
${OBK_SRCS}driver/drv_bl_shared.c
${OBK_SRCS}driver/drv_bmpi2c.c
${OBK_SRCS}driver/drv_bp1658cj.c
${OBK_SRCS}driver/drv_bp5758d.c
${OBK_SRCS}driver/drv_bridge_driver.c
${OBK_SRCS}driver/drv_chargingLimit.c
${OBK_SRCS}driver/drv_charts.c
${OBK_SRCS}driver/drv_cht8305.c
${OBK_SRCS}driver/drv_cse7761.c
${OBK_SRCS}driver/drv_cse7766.c
${OBK_SRCS}driver/drv_ddp.c
${OBK_SRCS}driver/drv_dmx512.c
${OBK_SRCS}driver/drv_debouncer.c
${OBK_SRCS}driver/drv_dht_internal.c
${OBK_SRCS}driver/drv_dht.c
${OBK_SRCS}driver/drv_drawers.c
${OBK_SRCS}driver/drv_doorSensorWithDeepSleep.c
${OBK_SRCS}driver/drv_ds1820_common.c
${OBK_SRCS}driver/drv_ds1820_simple.c
${OBK_SRCS}driver/drv_ds1820_full.c
${OBK_SRCS}driver/drv_freeze.c
${OBK_SRCS}driver/drv_gn6932.c
${OBK_SRCS}driver/drv_hd2015.c
${OBK_SRCS}driver/drv_hgs02.c
${OBK_SRCS}driver/drv_ht16k33.c
${OBK_SRCS}driver/drv_httpButtons.c
${OBK_SRCS}driver/drv_hue.c
${OBK_SRCS}driver/drv_ir2.c
${OBK_SRCS}driver/drv_kp18058.c
${OBK_SRCS}driver/drv_kp18068.c
${OBK_SRCS}driver/drv_max6675.c
${OBK_SRCS}driver/drv_max72xx_clock.c
${OBK_SRCS}driver/drv_max72xx_internal.c
${OBK_SRCS}driver/drv_max72xx_single.c
${OBK_SRCS}driver/drv_mcp9808.c
${OBK_SRCS}driver/drv_multiPinI2CScanner.c
${OBK_SRCS}driver/drv_ntp.c
${OBK_SRCS}driver/drv_deviceclock.c
${OBK_SRCS}driver/drv_ds3231.c
${OBK_SRCS}libraries/obktime/obktime.c
${OBK_SRCS}driver/drv_timed_events.c
${OBK_SRCS}driver/drv_openWeatherMap.c
${OBK_SRCS}driver/drv_pir.c
${OBK_SRCS}driver/drv_pixelAnim.c
${OBK_SRCS}driver/drv_pt6523.c
${OBK_SRCS}driver/drv_pwm_groups.c
${OBK_SRCS}driver/drv_pwmToggler.c
${OBK_SRCS}driver/drv_pwrCal.c
${OBK_SRCS}driver/drv_rn8209.c
${OBK_SRCS}driver/drv_sgp.c
${OBK_SRCS}driver/drv_shiftRegister.c
${OBK_SRCS}driver/drv_sht3x.c
${OBK_SRCS}driver/drv_sm2135.c
${OBK_SRCS}driver/drv_sm2235.c
${OBK_SRCS}driver/drv_soft_i2c.c
${OBK_SRCS}driver/drv_soft_spi.c
${OBK_SRCS}driver/drv_sm15155e.c
${OBK_SRCS}driver/drv_sm16703P.c
${OBK_SRCS}driver/drv_simpleEEPROM.c
${OBK_SRCS}driver/drv_leds_shared.c
${OBK_SRCS}driver/drv_spi.c
${OBK_SRCS}driver/drv_spiLED.c
${OBK_SRCS}driver/drv_spi_flash.c
${OBK_SRCS}driver/drv_spidma.c
${OBK_SRCS}driver/drv_ssdp.c
${OBK_SRCS}driver/drv_tasmotaDeviceGroups.c
${OBK_SRCS}driver/drv_tca9554.c
${OBK_SRCS}driver/drv_tclAC.c
${OBK_SRCS}driver/drv_test.c
${OBK_SRCS}driver/drv_test_drivers.c
${OBK_SRCS}driver/drv_textScroller.c
${OBK_SRCS}driver/drv_tm1637.c
${OBK_SRCS}driver/drv_tm1638.c
${OBK_SRCS}driver/drv_tm_gn_display_shared.c
${OBK_SRCS}driver/drv_girierMCU.c
${OBK_SRCS}driver/drv_tuyaMCU.c
${OBK_SRCS}driver/drv_tuyaMCUSensor.c
${OBK_SRCS}driver/drv_uart.c
${OBK_SRCS}driver/drv_uart_tcp.c
${OBK_SRCS}driver/drv_ucs1912.c
${OBK_SRCS}driver/drv_wemo.c
${OBK_SRCS}driver/drv_widget.c
${OBK_SRCS}i2c/drv_i2c_ads1115.c
${OBK_SRCS}i2c/drv_i2c_lcd_pcf8574t.c
${OBK_SRCS}i2c/drv_i2c_main.c
${OBK_SRCS}i2c/drv_i2c_mcp23017.c
${OBK_SRCS}i2c/drv_i2c_tc74.c
# ${OBK_SRCS}driver/drv_bmp280.c
# ${OBK_SRCS}driver/drv_test_charts.c
)
if(NOT DEFINED SDK_CJSON)
set(OBKM_SRC ${OBKM_SRC} ${OBK_SRCS}cJSON/cJSON.c)
endif()
if(NOT DEFINED SDK_LFS)
set(OBKM_SRC ${OBKM_SRC} ${OBK_SRCS}littlefs/lfs.c ${OBK_SRCS}littlefs/lfs_util.c)
endif()
set(OBKM_SRC_CXX
${OBK_SRCS}driver/drv_ir.cpp
${OBK_SRCS}driver/drv_ir_new.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/IRac.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/IRproto.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/IRrecv.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/IRsend.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/IRtext.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/IRtimer.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/IRutils.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/String.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/digitalWriteFast.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Airton.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Airwell.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Aiwa.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Amcor.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Argo.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Arris.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Bosch.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Bose.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Carrier.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_ClimaButler.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Coolix.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Corona.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Daikin.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Delonghi.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Denon.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Dish.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Doshisha.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Ecoclim.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Electra.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_EliteScreens.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Epson.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Fujitsu.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_GICable.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_GlobalCache.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Goodweather.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Gorenje.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Gree.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Haier.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Hitachi.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Inax.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_JVC.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Kelon.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Kelvinator.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_LG.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Lasertag.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Lego.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Lutron.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_MWM.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Magiquest.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Metz.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Midea.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_MilesTag2.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Mirage.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Mitsubishi.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_MitsubishiHeavy.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Multibrackets.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_NEC.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Neoclima.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Nikai.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Panasonic.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Pioneer.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Pronto.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_RC5_RC6.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_RCMM.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Rhoss.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Samsung.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Sanyo.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Sharp.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Sherwood.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Sony.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Symphony.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Tcl.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Technibel.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Teco.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Teknopoint.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Toshiba.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Toto.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Transcold.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Trotec.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Truma.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Vestel.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Voltas.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Whirlpool.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Whynter.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Wowwee.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Xmp.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/ir_Zepeal.cpp
${OBK_SRCS}libraries/IRremoteESP8266/src/itoa.cpp
)