* 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
* Fix missing "onHassDiscovery" and "XX_AppendInformationToHTTPIndexPage()"
Fixes to drv_main.c (some missing args for "onHassDiscovery") - changed format to have one line per argument and driver
Fixed missing arg "bPreState" in some XX_AppendInformationToHTTPIndexPage() functions
* fix getcommands for new structure of drv_main.c (commands may be mutliple lines long)
* Make comments for "duplicate" drivers more readble
* Fix sourcefiles for documentation done with getcommands.js
Mainly missing comments or comments "contradicted" by function calls
* fixed one missed comment
* Fix path in descriprion command
make getcommands.js testing duplicates for content
- if content (=documentation) is equal, show that ist potentially safe to ignore
* test
* Update workflow.yaml
* t
* makes
* Update drv_simpleEEPROM.c
* Update drv_simpleEEPROM.c
* ber
* Update workflow.yaml
* tt
* ber
* charts
* owm
* tt
* rem charts
* smaller
* test
* test
* fixes
* test
* charts
* comments
* test
* tt
* test
* add file to proj
* try to add pin 13 as ADC (testing in progress)
* test
* test
* MAX7219 simulator HACK
* final fixes
* Update drv_max72xx_internal.c
* restore
* fx
* add support for frequency variable in AddChangeHandler
* bl0942 frequency variable rounding correction
* move frequency to last args for VCPPublishThreshold
* frequency selftest precision adjustments
---------
Co-authored-by: kcstonacek <stonacek@stonacek.nz>
a DST switch should fix the upcomming sunset/sunrise events
(which were calculated before the switch, hence with "old" time.)
Added one simple test case
* fix handling of "sunset" events:
Old code was
if (e->sunflags & (SUNRISE_FLAG || SUNSET_FLAG)) {
This will ignore sunset events ( SUNSET_FLAG = 1 << 1)
for the or of two values ( 1 || 2) is always true
and will result in testing (sunflags & 1)
so never true for sunset (2 & 1) is false.
probaly meant
if ((e->sunflags & SUNRISE_FLAG) || (e->sunflags & SUNSET_FLAG))
but it's sufficient to check is "sunsetflags" is not 0, so simple fix:
if (e->sunflags){
Additionally added code to change liste vents ("listClockEvents") so it also shows if a time is derived from sunset or sunrise:
before the output would be like:
Info:CMD:Ev 32 - 7:31:0, days 0xff, cmd setChannel 0 0
Info:CMD:Ev 31 - 19:7:0, days 0xff, cmd setChannel 0 1
and you won't see this is an "dynamic" time. Now it's (I also used %02i to fix time format)
Info:CMD:Ev 32 - 07:31:00 (sunrise), days 0xff, cmd setChannel 0 0
Info:CMD:Ev 31 - 19:07:00 (sunset), days 0xff, cmd setChannel 0 1
* forgot to commit fix for time display using "%02i" for hours, minutes and seconds
* first try to set sensor output like tasmota, but add "name"
* Use extended tasmota style: Name + Tasmota-Id
* switch to "plain" tasmota style (only tasmota-Id aditionally to temperature)
* fix numbering - Tasmota starts with "DS18B20-1" not with "DS18B20-0"
* first try for DS1820 sensors
* fix windows build
* Fix wrong comment format
* Fix code
* fix missing includes
* fix missing defines (only check if driver is included)
* Add DS1820 to sensors in "DRV_IsSensor
Fix string might be not empty
* fix output for long string in case of many DS1820 sensors
* ENABLE DMX on ESP
* test
* s
* Update hal_uart_espidf.c
* Update obk_main.cmake
* w
* test
* Update hal_uart_espidf.c
* Update drv_dmx512.c
* test
* test
* test
* w
* t
* c
* t
* test
* T
* Update drv_dmx512.c
* test
* test
* try flush
* try wait
* ticks w
* t
* fx
* 100 ms
* SIM fx
* Update cmd_newLEDDriver.c
* test 2x
* tests
* fixes
* free
* fix
* misc
* b
* hal
* s
* Update workflow.yaml
* pin
* fin
* test
* Update hal_uart_espidf.c
* t
* ENABLE DMX on ESP
* test
* s
* Update hal_uart_espidf.c
* Update obk_main.cmake
* w
* test
* Update hal_uart_espidf.c
* Update drv_dmx512.c
* test
* test
* test
* w
* t
* c
* t
* test
* T
* Update drv_dmx512.c
* test
* test
* try flush
* try wait
* ticks w
* t
* fx
* 100 ms
* SIM fx
* Update cmd_newLEDDriver.c
* test 2x
* tests
* fixes
* free
* fix
* misc
* b
* hal
* s
* Update workflow.yaml
* pin
* fin
* test
* Update hal_uart_espidf.c
* fix getcommands.js
Fix parsing
don't overwrite source files but generate alternate file
* Fix comments so "getcommands.js" won't complain.
Hpoe I got descriptions right ...
* Some more comments to fill "qqq" fields ...
* Fix getcommands.js generatind fn-entries for registered commands
Fix all source files with wrong "NULL);" as fn
* add some more tests to getcommands.js to verify commands:
check filename of command
check fn called
some more fixes to documentation commands as result from above tests
* Apply changes for Bekens HAL_Delay_us() as proposed in #1579 by @rpv-tomsk
Add TEST command to simply test usleep on a given pin
tested on BK7231N to work with both drivers (I am aware of) using HAL_Delay_us
DS1820 and DHT (tested on DHT11 only)
Timing on BK7231N looks really good with this driver, at least for usleep > 6 its allways 2 us more:
tested read by analyzer
500 502
200 202
100 102
50 52
20 22
10 12
6 8
4 7
Now it's time to test on other Beken platforms, too
* Not working on BK7238 - trying to remove special case for lower usleep, since times are way to small here
* still not working on BK7238 - usleep ok fur > 50 , will not be below 30us according to my tests
so try to use the other approach for 7238, too
* No success on BK7238 - trying once again to use "usleep()" to find a factor with analyzer.
* try factor 6 for BK7238 (HAL_Dely_us(x) -> usleep(6*x))
* Testing factor 6.4 for BK7238
* Fixing BK7252 build not working, simply use original for code
* Restore original code for BK7252
* Change timing for BK7525
* Next try to adjust factors for BK7525
* fix typo
* Add adjustment for powersave on BK7238
* Update obk_config.h - disable ENABLE_DS1820_TEST_US
* stub
* clear
* clear upo
* one more test
* split
* fx
* Update drv_led_shared.c
* step
* split
* Update drv_leds_shared.c
* Update selftest_ws2812b.c
* port
* dmx
* DMX
* s
* with test
* fix
* fx
* ChType_Ph test and RGBW test
* ddp formats unfinished
* Update selftest_ws2812b.c
* Update selftest_hass_discovery_ext.c
* fxes
* bl602 test
* w600 test
* simplify
* rtl clear
* t
* draft for beken etc
* draft w600
* fxes
* fxes bl602
* realtek
* fx bl_gpio_intmask
* xradio
* esp
* gpio_isr_handler_add cast
* not needed
* reorg
* fx
* ecr
* fxes
* almost?
* HAL_DetachInterrupt fx
* newline
* use hal_pins.h
* counter
* silly fx
* Update hal_pins.h
* XR FIX? HOW I DIDN'T SEE THAT EARLIER
* guard for double call of HAL_DetachInterrupt
* do not do much in interrupt handler routine, apply deltas in quick tick
* try w800 blindly
* try
* tls_clr_gpio_irq_status
* try intptr_t to see if it compiles
* call tls_clr_gpio_irq_status first?
* fx 2 omg
* frgot
* change to pullup input by default, add partially counter_r
* more
* ADD POS/NEG EDGE FOR MORE PLATFORMS
* esp