* Driver vor NEO6m GPS receiver
Tested on W800
* Some tweaks:
empty RX buffer betewwn readings
on several unsuccessful reads, try enabling the NMEA RMC messages again
* empty buffer every second
remove commented out old code
* fix broken log if no lat/long NS or EW is present
* Add "savecfg" argument to save config to NEO after configuring - so next time we might use it without sending commands to NEO module
this way, only NEOs Tx is needed (and OpenBekens Rx)
---------
Co-authored-by: openshwprojects <85486843+openshwprojects@users.noreply.github.com>
* 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
* 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
* create a ChType_Enum to go with SetChannelEnum
* resolve build errors for ChType_Enum PR
* fixing build errors for simulator and others for cmd_enums.c
* added ChType_ReadOnlyEnum and assocaited enum selftests
* ChType_Enum simulation and memory error corrections
* ChType_Enum documentation updates
---------
Co-authored-by: root <root@stonacek.nz>
* 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
* Seperate simple and full driver, introduce "common" for shared code
* Fix command prefixes
* Generate command as multiline if requested
* Fix JS linebreak
* Only use simple dirver - check sizes of firmware images
* Update obk_config.h - enable Full driver for all platforms to allow testing
* Change parsing sttring to device address to allow compact form
Change obk_config.h: remove extra entry for W800, add "FULL" driver to windows build
* fix windows code for "fake" DS18B20
* fix missing files in openBeken_win32_mvsc2017.vcxproj
* fix handle missing task.h for windows
* change Windows emulation to MAX/2 fake sensors
* try fix BL602
* change "fake temperature" of sensors in windows
* change windows sensor temperature once more
* shorten commands by alias
* fix escaping linebreak
* Fix broken JS code ...
* Fix ESP32 is crashing if interrupts are disabled during OWReset for > 480us
* Change output for unused channels
Test if DS1820 channels are in use
* fix warning/error for channel (<=64) printed into a char[5] value
* removeunuses quotes for address
* Fix language
* Capial "S" in Menu entry "Sensors"
* restore obk_config - #define ENABLE_DRIVER_DS1820_FULLonly for WINDOWS and SENSORS variant
* setChannel(ch, v) in Berry
* try
* t2
* b
* fx
* update to berry with autogenerated files
* Add debug to find out whether the submodule is really checked out
* Revert "Add debug to find out whether the submodule is really checked out"
This reverts commit 40ec2f6677.
* Add src/berry checkout to every build
* berry separate file p1
* #define ENABLE_OBK_BERRY 1 on Beken only
* Compile in obkSimulator
Compiles, but crashes in parser.
Seems like the Berry code has not been tested under MSVC2017.
* Checkout with submodules in obkSimulator workflow
* berry with ffs msvc fix
* berry autogen fiasco fix
* OpenBK7231T compiles from official berry, handle prebuild
Breaks obkSimulator
* Fix botched rebase on .gitmodules
* Build in msvc with a berry prebuild step (requires python)
* MSVC: also extend include directories for Release
* Fix BK723x build, extract common berry build rules into berry.mk
* Fix OpenBL602 build
This doesn't actually compile berry for OpenBL602, but makes compile
errors go away and marks where further work will be needed.
* working delayMs
Test Plan:
```
berry state = 1; var tick; def tick() state = 1 - state; channelSet(1, state); delayMs(1000, tick); end; tick();
```
can be stopped with `stopAllScripts`
* only use os_realloc on PLATFORM_BK7231T
* Move as much berry logic as possible out of cmd_script
* Guard more with ENABLE_OBK_BERRY
* upload script
* file operations & working import
* enough to implement "Advanced turn off after time with timer on UI and timer setting on UI and kept in flash"
* experiments
* clang-format -i src/berry/be_*.{h,c} src/cmnds/cmd_berry.c
* Remove redundant hfile != NULL
Calling with hfile == NULL would be bug in some other part of the code
* Don't checkout other submodules for simulator build
* remove stray debug & .user files
* Use be_newcomobj
* Build sim on linux
* build linux sim [2]
* threads & tests
* Leave enabled on Windows, disable on BEKEN
* SIM_RunWindow fix?
* allow "startScript test.be" as a shorthand for "berry import test" ??
* test?
* fix /
* test arg
* test2
* test
* test add
* fx
* test
* just checking if i can use import without module?
* test with module
* CMD_StopBerry fix?
* run obk command from berry? probably not good idea due to the stack size, will delay execution later?
* str arg
* test to see if i have to repeat import
* submit unfinished code
* concat tst
* more tests
* fix copy/paste mistake, add fib test
* fx
* channelSet
* fx
* try
* tester.fib(11)
* rename
---------
Co-authored-by: Tester23 <85486843+openshwprojects@users.noreply.github.com>
Co-authored-by: NonPIayerCharacter <18557343+NonPIayerCharacter@users.noreply.github.com>
* Add commands to check if actual time is in DST or not
New command "clock_calcDST nthWeekEnd monthEnd dayEnd hourEnd nthWeekStart monthStart dayStart hourStart"
to set the DST start and end rule.
$isDST will return 1 if DST is active, 0 else
It's enabled with
* switched from strftime to ctime to get smaller memory footprint
* disabled feature by default in obk_config.h (enabled for Windows for possible testing)
* try selftest for DST
* enable Test_NTP_DST() in win_main.c
* fix missing NTP offset settings, fix LOG
* Add possibility to set g_ntpTime according to DST settings
tried to reduce image sizes by avoiding mktime
still image size for this feature varies very much:
LN882H: 2.2k in bin / 1.5k in OTA
Beken: 4.3k in rbl
BL602: 21.4k in bin / 9.7k in ota
This commit has feature enabled, to get images for testing, will change it to disabled by default in next release
* disable feature for all plattforms but windows (to allow tests)
* Fix selftest - all DST changes are now done by the system!
* Fix selftest - setsimulated time must also call setDST as "real" ntp setting
* Next try to fix selftests
* For testing switch back to mktime
* New try to reduce image by avoiding time functions
Fix own leap year calculation
* Disable feature for all platforms but Windows (to keep selftest)
* TEST1
* thr
* tr
* fx
* fx
* fx
* fx
* w
* qq
* stack
* w
* w
* 2v
* fx
* tes without close
* try
* close
* w
* w
* header
* owm windows and display on http debugf text
* skip http header
* weather checkpoint
* disable on beklen