Commit Graph

660 Commits

Author SHA1 Message Date
Cornelius Köpp
efbbb52717 Fix: Writing Both Bytes of DPT8.010 to Bus 2023-08-02 23:01:14 +02:00
thelsing
f7ac39c66f
Merge pull request #251 from OpenKNX/fix_data_property_read_idx0
fixed wrong answers to property read
2023-07-13 11:08:46 +02:00
thelsing
aa57fdf482
Merge pull request #252 from OpenKNX/fix-buffer-overflow
Fix buffer overflow
2023-07-13 11:08:11 +02:00
Cornelius Köpp
3c2a371711 Add DPT 14.080 (DPT_Value_ApparentPower) 2023-07-02 14:04:32 +02:00
Waldemar Porscha
09985ea793 FIX: Allow setting of EOPR_TIMEOUT from pio.ini 2023-06-30 21:23:44 +02:00
John Doe
a5ba7bcd5e fixed wrong answers to property read:
with start = 0 (read the number of current elements) and current elements = 0 (empty property) 0 was returned which results in an error message when reading this property.
2023-06-26 10:15:51 +02:00
Waldemar Porscha
f8bd27b4b5 allow user defined OVERRUN_COUNT
reset _savedAsapXXX always to 0
2023-06-18 14:06:41 +02:00
thelsing
48000b25aa
Merge pull request #250 from Maggyver/master
New PlatformIO Build Flags "KNX_LED_ACTIVE_ON" , default is low
2023-06-16 11:18:38 +02:00
thelsing
494c76c7d8
Merge pull request #249 from OpenKNX/fix-tpuart-error
fix #247 - TPUART Error Message
2023-06-16 11:18:10 +02:00
thelsing
1a0ac5aaf2
Merge pull request #248 from OpenKNX/fix-functionPropRead
fix wrong functionPropertyState handling
2023-06-16 11:17:18 +02:00
thewhobox
e1596ebaf4 fix wrong functionPropertyState handling 2023-06-14 21:30:27 +02:00
Mike
c5fc04c487 fix-tpuart-error 2023-06-13 11:21:48 +02:00
Maggyver
90cafdbd01
New PlatformIO Build Flags "KNX_LED_ACTIVE_ON" , default is low 2023-06-11 14:38:40 +02:00
thelsing
245b82e627
Merge pull request #246 from OpenKNX/fix-reset-chip
fix: reset chip blocks
2023-05-29 19:10:34 +02:00
thelsing
dd092dbba0
Merge pull request #245 from OpenKNX/improve_ipDataLinkLayer_limit
Improve ip data link layer send limit
2023-05-29 19:09:33 +02:00
thewhobox
338aa1b825 fix reset chip 2023-05-28 12:06:55 +02:00
Ing-Dom
b088ffe10d Rename function for better understanding, fix inverse logic 2023-05-27 13:55:11 +02:00
Ing-Dom
49ae48eacb some minor improvements from first code review 2023-05-26 12:48:50 +02:00
Ing-Dom
1f3a5fe5a9 improve the implementation of the 50 packet / second limit
delay knx.loop by 20ms has ugly side effects.
count the frames in 100ms chunks to allow more than 5 packets per 100ms
drop packet if over the limit.
2023-05-26 11:26:33 +02:00
thelsing
4cdf6d4ffe
Merge pull request #244 from OpenKNX/hotfix-uninitialized-asap
Hotfix: remove of _savedAsapXXX = 0
2023-05-13 10:07:22 +02:00
Waldemar Porscha
5abd3d4408 Hotfix: remove of _savedAsapXXX = 0 2023-05-13 01:11:34 +02:00
thelsing
e4bb3e1c59
Merge pull request #243 from OpenKNX/support-samd-flash-offset
support KNX_FLASH_OFFSET on samd
2023-05-07 20:29:12 +02:00
thelsing
f30ff30a6a
Merge pull request #242 from OpenKNX/function-property
functionproperty respond only if handled
2023-05-07 20:22:14 +02:00
Marco Scholl
2b8ad2f1ad support KNX_FLASH_OFFSET on samd 2023-05-07 11:52:39 +02:00
thewhobox
859b50eff6 functionproperty respond only if handled 2023-05-06 20:53:06 +02:00
mumpf
d52df6d584
fix: prevent use of uninitialized _savedAsapXXX variables (#241)
- src/knx/application_layer.h: Initialize _savedAsapXXX
- src/knx/application_layer.cpp: prevent xxxConfirm-Calls if _savedAsapXXX values are 0

Co-authored-by: Waldemar Porscha <wp@porscha.eu>
2023-05-05 00:42:28 +02:00
Mike
0d140a5182
Added FunctionProperty Callback (#238)
* add commitNonVolatileMemory overload to batch write chars n times to flash

* added functionproperty callback

* added function property state

* fixed function data length

* removed ifdef and fixed missing references

* added adc response

* fix

* fixed ADCResponse

---------

Co-authored-by: Ing-Dom <dom@ing-dom.de>
2023-04-06 15:35:37 +02:00
mobil750
5007462c70
correction for DPT 10.001 TimeOfDay implemented; #define DPT_TimeOfDay Dpt(10, 1, 1) (#237)
extension of dptconvert.cpp to get "tmp.tm_wday = weekDay;" decoded in Struct tm
2023-04-06 12:25:52 +02:00
mumpf
8807780b55
FIX: occasional endless loop (wrong buffer limit) (#234)
Co-authored-by: Waldemar Porscha <wp@porscha.eu>
2023-03-20 14:41:31 +01:00
Dom
4c37c21699
make the Prog Button handling in the knx stack deativateable by pin value <0 (#231) 2023-02-20 14:21:11 +01:00
Dom
8650669b50
add commitNonVolatileMemory overload to batch write chars n times to flash (#229) 2023-02-13 21:42:06 +01:00
Dom
dce92403e5
32bit eeprom size (#230)
* add commitNonVolatileMemory overload to batch write chars n times to flash

* changed uint8_t getEepromBuffer(uint16_t size) to uint8_t getEepromBuffer(uint32_t size) to allow eeprom > 65k

* reworked PR #230
2023-02-13 21:39:30 +01:00
mumpf
9894a8c8b8
improved/corrected prog button debouncing (#221)
Co-authored-by: Waldemar Porscha <wp@porscha.eu>
2022-11-25 07:24:27 +01:00
mumpf
b51c5950c5
reimplemented binary search for translateAsap() (#220)
* reimplemented binary search for translateAsap()
- new prepareBinarySearch() after association_table change
- fallback to linear search if ETS does not provide sorted ASAP entries
- activated with #define  BIN_SEARCH

* added required comments to explain algorithm

Co-authored-by: Waldemar Porscha <wp@porscha.eu>
2022-11-12 11:23:04 +01:00
croghostrider
eef3a85b18
Update CodeQL (#219)
* Update CodeQL

* Update codeql-analysis.yml

* Update codeql-analysis.yml
2022-10-22 14:18:55 +02:00
mumpf
7bf3696a3b
Feature175 binarysearch (#218)
* #175
added a binary search for address and assoc table
can be enabled by defining USE_BINSEARCH

* Corrected BIN_SEARCH

* AddressTableObject::contains minimal improve

* Review: changed ntohs to htons

* corrected byte order during access to sorted array

Co-authored-by: SirSydom <com@sirsydom.de>
Co-authored-by: Waldemar Porscha <wp@porscha.eu>
2022-10-21 10:03:11 +02:00
Sonnengruesser
a0134e6cfb
RP2040 EEPROM/Flash compiler flag fix (#216)
* RP2040 EEPROM/Flash compiler flag fix

only check flash size if Flash is used, not EEPROM

* RP2040 EEPROM/Flash compiler flag fix

use EEPROM emulation as default to allow build of the knx-demo (memory.h defines EEPROM size 1024 which doesn't work with Flashsize 4k)

* Update rp2040_arduino_platform.h
2022-10-15 22:25:22 +02:00
mumpf
5b48f21f53
get rid of some warnings during build (#214)
(comparison between signed and unsigned integer expressions)

Co-authored-by: Waldemar Porscha <wp@porscha.eu>
2022-10-15 22:24:58 +02:00
thelsing
920b1d287a
Update README.md 2022-08-15 11:31:29 +02:00
Matthias B
8af9121f6f
H8I8O Example (#210)
Firmware for the H8I8O that allows configuring pins as input, output or PWM output in a similar way to the original.
2022-08-15 11:27:57 +02:00
thelsing
5dc3d7666b
Update platformio.ini 2022-08-15 11:12:48 +02:00
thelsing
476d9ce57d
Update platformio.ini 2022-08-15 11:12:30 +02:00
thelsing
6631d278a0
Update platformio-ci.ini 2022-08-15 11:12:16 +02:00
thelsing
2049321071
Update platformio-ci.ini 2022-08-15 11:11:57 +02:00
thelsing
704c334ffe
Update platformio-ci.ini 2022-08-15 11:10:06 +02:00
mumpf
3bf7f5ce48
remove unnecessary print to console (#213)
Co-authored-by: Waldemar Porscha <waldemar.porscha@sap.com>
2022-07-15 23:11:10 +02:00
Matthias B
8b9ff4fce1
H8I8O (#209)
* Add defines for LED, button and serial port

To make supporting different board layouts easier, this introduces some new defines:

For all platforms:
- `KNX_LED` -  the programming LED, defaults to `LED_BUILTIN`
- `KNX_BUTTON` - the programming button, defaults to `0`

For Arduino platforms:
- `KNX_DEBUG_SERIAL` - the serial port that is used for debugging, defaults to `Serial`
- `KNX_SERIAL` - the serial port used for communication with the TPUART, default depends on platform

* GD32 flash workaround

Addressing #181

At least some GD32 devices seem to require unlocking the flash twice. As the unlock function exits with `HAL_OK` if the flash is already unlocked, STM32 devices can run the same code without issues.

* Add H8I8O and H8C09 configurations to knx-demo

Addressing #181

These configurations both serve as examples for the use of these boards and other custom boards that don't use the standard pinout.

* Add STM32 unlock target

This copies the brute force unlock approach by @pavkriz into a custom target. With this commit, it is possible to automatically unlock e.g. a H8I8O board without leaving the PlatformIO IDE.

See #181
2022-06-08 21:13:34 +02:00
rueckix
bd907c242d
Fix prog button handling (#207)
* Update stm32_platform.cpp

Addresses a side effect of https://github.com/thelsing/knx/pull/177, which causes the eeprom buffer to be overwritten every time getEepromBuffer is called. This prevented programming of STM32 boards as their initial bus address was lost before programming.

* progbutton fix

* Update stm32_platform.cpp

Addresses a side effect of https://github.com/thelsing/knx/pull/177, which causes the eeprom buffer to be overwritten every time getEepromBuffer is called. This prevented programming of STM32 boards as their initial bus address was lost before programming.

* Update knx_facade.h

Remove superfluous attribute _buttonPinInterruptOn

* Update knx_facade.h

attachInterrup on CHANGE for progbutton detection
2022-05-31 07:20:59 +02:00
rueckix
3948045c28
Fix stm32 eeprom handling (#205)
* Update stm32_platform.cpp

Addresses a side effect of https://github.com/thelsing/knx/pull/177, which causes the eeprom buffer to be overwritten every time getEepromBuffer is called. This prevented programming of STM32 boards as their initial bus address was lost before programming.

* Code style fix
2022-04-30 22:15:16 +02:00
croghostrider
eb963583ee
Fix last CodeFactor Style issues (#202)
* fix malformed whitespace

* fix trailing spaces 


fix trailing spaces
2022-04-25 20:30:53 +02:00