Commit Graph

38 Commits

Author SHA1 Message Date
Thomas Kunze
5ef9c8c040 rename esp platform to esp8266 platform and add stm32 to ci 2024-09-13 18:06:52 +02:00
Thomas Kunze
a510042e78 Squashed commit of the following:
commit 043ba081ff
Merge: eb0d626 277a5d5
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Fri Oct 28 22:09:18 2022 +0200

    Merge branch 'w5500'

commit 277a5d57fa
Merge: cf44c4e 187ab2e
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Fri Oct 28 19:35:32 2022 +0200

    Merge branch 'w5500' of https://github.com/OnlineCaveman/knx-samd51 into w5500

commit cf44c4efe9
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Fri Oct 28 19:35:02 2022 +0200

    Added functionality for W5500

    Initialisation works. Compiling fails on "htonl" expansion. If commented out it compiles fine.

commit 187ab2e9f1
Merge: b0238cf eef3a85
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Thu Oct 27 14:30:17 2022 +0200

    Merge branch 'thelsing:master' into w5500

commit eb0d62666d
Merge: b0238cf eef3a85
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Thu Oct 27 14:29:49 2022 +0200

    Merge branch 'thelsing:master' into master

commit b0238cfe7e
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Tue Oct 25 17:28:00 2022 +0200

    Changed comment lines

    Changed the comment lines to reflect the current possibilities TP and RF

commit d24f6de36f
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Tue Oct 25 17:24:55 2022 +0200

    Added the RF (0x27B0)

    Added checks for RF 0x27B0 as that should work ootb I suppose.

    Builds and uploads successfully.
    Gives the debug output "ERROR, RF transceiver not responding" since I have no RF hw to test.

    Same goes for the TP 0x07B0. Build and uploads successfully.
    Gives the debug output "ERROR, TPUART not responding" since no I have no TP uart hw to test.

commit 7373ab0a87
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Tue Oct 25 16:19:53 2022 +0200

    No IP version yet

commit 76762571ea
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Tue Oct 25 15:56:34 2022 +0200

    Ifdef include requested change

commit 02565a0ba3
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Mon Oct 17 21:10:23 2022 +0200

    Cleanup

    Removed unnecesary Qspi stuff for now. Compiles fine for samd51 and samd21. Have no samd21 platform or tpuart to do thorough testing but nothing fundamental was changed in samd_platform other than the ifdef checks.

commit 598f6bddfd
Merge: 37e056a b403480
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Mon Oct 17 20:38:08 2022 +0200

    Merge branch 'master' of https://github.com/OnlineCaveman/knx-samd51

commit 37e056a91c
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Mon Oct 17 20:37:44 2022 +0200

    ARCH_SAMD

    Now checking for __SAMD21__ and __SAMD51__ in knx_facade, samd_platform (samd21) and samd51_platform (samd51)

    Preparation for external flash functionality in platform.h

commit b403480f0c
Merge: c0e5621 a0134e6
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Mon Oct 17 19:59:28 2022 +0200

    Merge branch 'thelsing:master' into master

commit c0e5621a5f
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Mon Oct 17 19:52:10 2022 +0200

    Rename back to original

commit 6c4a10e189
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Mon Oct 17 19:51:31 2022 +0200

    Fault in change tracking

    Renaming subdir knx to force changes

commit b8107fd62d
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Mon Oct 17 19:48:09 2022 +0200

    SAMD51/SAMD21 files

    Separate files for SAMD51 and SAMD21 platforms.

commit 4248a1f073
Author: OnlineCaveman <115506475+OnlineCaveman@users.noreply.github.com>
Date:   Sat Oct 15 16:15:32 2022 +0200

    Updated for samd51 flash storage compatibility
2024-09-13 17:53:32 +02:00
Thomas Kunze
60b414bab2 reimplement dpt1 and dpt9 2024-09-12 22:16:35 +02:00
Thomas Kunze
d1bdc6ef51 -remove hack for 0 terminating string in groupobjects
-fix logging on linux
-add parameters to python bindings
2024-09-12 00:16:49 +02:00
Thomas Kunze
b687cd24d9 fix build 2024-08-30 21:29:16 +02:00
Ing-Dom
194de33ee2 update rp2040 plattform version in examples and ci 2024-07-22 23:27:07 +02:00
Ing-Dom
cacbd9f175 add rp2040 build environment to knx-demo example for both example project and ci 2024-02-26 12:40:29 +01:00
thelsing
5dc3d7666b
Update platformio.ini 2022-08-15 11:12:48 +02:00
thelsing
2049321071
Update platformio-ci.ini 2022-08-15 11:11:57 +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
croghostrider
6254fc9b67
fix bulid (#143)
fix bulid


fix bulid


fix bulid
2021-06-14 08:10:48 +02:00
croghostrider
2450c1c458
fix ESP32 IP KNX Demo (#139) 2021-06-02 17:55:07 +02:00
Dennis Fleurbaaij
f169e20f2f
opt-out global KNX, ability to DIY construct knx object, minor cleanups (#121)
* Refactored the knx_facade a bit to make the auto-building of the global knx object and the buttonUp() ISR function opt-in. Also added the ability to quite easily attach another serial (in this case tested with Serial2 of an ESP32).

* Added visual studio code temp files to .gitignore

* Fix for missing build flag for WifiManager in ESP32_ip demo

* Added example in which we DIY build the KNX object and use ESP32's second UART to connect so that you can debug with the first one that's connected to USB.

* Minor platform cleanups to remove compilation warnings.

* ESP32 can't handle the defaulted 8192 byte EPROM. Next to that I needed to begin() the eprom lib in my setup() to get it to work and that requires knowing how much memory KNX will use. This fix makes the default more conservative and moves it's definition to the .h file so that other files can always use it as well.

* After comments from thelsing, inverted the logic. The default global knx object is now opt-out by defining KNX_NO_AUTOMATIC_GLOBAL_INSTANCE. See the knx-demo-diy project for an example.
Minor syntactic cleanups.

* Removed hardwareserial from facade (detail which was not needed)
Placed facade constructors together
Minor syntactic cleanup

* Fixed knx-cc1310 where own button routine was calling now private internal knx facade variable.
Renamed files in knx-demo-diy
Minor syntactic stuff

* Added gitattributes for binary knxprod files
2021-02-05 15:57:45 +01:00
rueckix
73df7fd28c
Fix: "bool BauSystemBCoupler::configured()" (#112)
* Fix: "bool BauSystemBCoupler::configured()"
always returns false when KNXSecure is not supported/configured in ETS

* Update platformio-ci.ini

activate optional  USE_DATASECURE

* Update platformio-ci.ini

activate optional  USE_DATASECURE

* Update platformio-ci.ini

activate optional  USE_DATASECURE
2020-12-10 19:17:45 +01:00
Thomas Kunze
2aecc213ff Rename DataSecurity enums; conflict with Wifimanager 2020-11-18 17:46:47 +01:00
thelsing
e244e0c9dd
disable esp8266 build again 2020-11-16 21:40:06 +01:00
thelsing
80b61d2f10
Update platformio-ci.ini
Check if build of wifimanager with tagged version fails.
2020-11-16 20:51:23 +01:00
Thomas Kunze
06e2c11d96 clean up visual studio files and add root cmake 2020-10-28 21:35:24 +01:00
nanosonde
77a796a39c
Add coupler support (#79)
* save work.

* save work

* save work

* save work

* save work

* Remember which interface received the cemi frame

* save work

* save work

* save work

* Use default value from PID_ROUTING_COUNT

* Add simple alternative to std::function without smart pointers or move semantics

* Remove include

* Add more comments about cleanup

* save work

* Remove forgotten code.

* Move crc16Ccitt to bits.c as it also used for PID_MCB

* save work

* move comment

* save work

* save work

* save work

* save work

* save work

* save work

* save work

* derive from TableObject instead of InterfaceObject

* save work

* save work

* Fix wrong pointer arithmetic in TableObject

* Filter table setting/clearing

* move comment

* save work

* save work

* save work

* handle SBC on closed media

* save work

* move coupler example to different dir

* Restore device example for linux

* save work

* Remove MEDIUM_TYPE and use MASK_VERSION

* save work

* save work

* save work

* save work

* save work

* save work

* save work

* save work

* save work

* save work

* save work

* save work

* save work

* save work

* Replace MEDIUM_TYPE by MASK_VERSION

* Remove adafruit/travis-ci tests

* Disable travis ci cache for platformio

* Fix missing changes

* Fix cemi server and add missing MASK_VERSION definitions

* Enable platformio caching on travis ci again

* Handle device address update for routing decision

* source address is set in network layer and not in data link layer

* Add remaining APCI types that are used with system broadcast

* Add debug print for routing

* Remove simple_functional

* Fix CMakLists.txt

* Use MASK_VERSION to conditionally compile code.

* Remove fixed version reuqirement from platform esp8266

* Add demo-coupler for MCUs

* Remove simple_functional.h from demo knx-linux

* Enable CI for coupler demos

* Correct path for knx-linux-coupler

* Fix knx_facade.h

* Refactor NetworkLayer to use getInterface() for devices and getPrimaryInterface(), getSecondaryInterface() for couplers

* Add platformio configs for other currently possible mask/platform combinations

* Add class diagrams and remove obsolete includes

* Add some minimal docs
2020-09-06 21:41:34 +02:00
nanosonde
96884f768e
Add support for KNX data secure (#66)
* initial comic

* save work

* Handle SystemBroadcast and Broadcast for TP and IP

* Rework

* Fix comment

* save work

* save work

* save work

* save work

* save work

* Restore old broadcast structure

* Readd systembroadcast methods

* Make sure that services from SystemBroadcast are also available from Broadcast on closed media

* save work

* Save work

* save work

* Save work

* save work

* save work

* save work

* save work

* save work

* Change maximum number of elements for the key tables, etc.

* save work

* First working seqno sync with ETS

* save work

* save work

* save work

* save work

* save work

* save work

* Remove magic value and add comment

* save work

* Extend restart and masterreset for factory reset

* save work

* First working secure broadcast mode with IA programming

* Add FunctionPropertyExt* AL services

* Fix FunctionPropertyExt*. Working T_DATA_CONNECTED with FunctionPropertyExt*.

* Add PropertyValueExt* AL services. Handle master reset in AL service RESTART.

* Fix FunctionPropertyExtStateRead, fix restart. MILESTONE: Working physical programming of IA and toolkey with confirmed restart. Reading deviceinfos working.

* Handle PDT_CONTROL in FunctionPropertyExt*

* Fix FunctionPropertyExt* and FunctionProperty for PDT_CONTROL

* Change comment.

* save work

* save work

* Add group object security handling

* Move map to own file

* use simple_map

* Include simple_map.h in CmakeFile

* Move code from header to source file

* Remove obsolete code

* MILESTONE: working programming of secure device with IA and tables

* cleanup

* bugfix

* flashSize must be big enough. Security IF object contains a lot more data.

* Merge master into feat_datasecure

* Revert "Merge master into feat_datasecure"

This reverts commit 0c8358692a.

* Revert "Revert "Merge master into feat_datasecure""

This reverts commit aa59253785.

* Bugfixes

* cleanup

* cleanup

* Add printing of uint64_t

* Don't compile secapplayer if data secure not enabled

* pin platform for ESP8266 to specific version

* SecIfObject: save/restore required for persisting STATE. Bugfix: use correct PID for group key table

* Cleanup comment and debug output

* Further cleanup.

* Refactor master reset

* Remove unused IP data link layer test code

* Only reset TOOL kkey to FDSK on factory reset

* Modify .gitignore and remove vscode config file

* Correct comment

* Handle SBC flag (systembroadcast) in SCF field. Couplers between open and closed media need this.

* Remove code that slipped in.
2020-07-06 19:16:54 +02:00
nanosonde
1f5056325b Improve CI (#49)
* Add platformio config for knx-demo example for SAMD, ESP8266 and ESP32
2019-12-17 17:32:50 +01:00
nanosonde
e77f61d249 Use knx-demo-tp.xml as template for knx-demo-rf.xml 2019-10-28 10:25:51 +01:00
nanosonde
c9819663fa Remove knx-rf-demo folder and move doc 2019-10-28 10:18:26 +01:00
Bernator
afd07d10cb Bugfix, change debug uart not possible (#33)
* bugfix, print not allowed in constructor

* Update tpuart_data_link_layer.cpp

- start confirm timout only after last byte was sent
- increase BYTE_TIMEOUT

* -bugfix, change debug Uart not possible

* Update esp32_platform.cpp

* Update esp_platform.cpp

* Update knx-bme680.ino

* Update knx-demo.ino

* Update knx-hdc1008.ino

* Update knx-sonoffS20.ino
2019-09-09 20:10:56 +02:00
Bernator
68b0002490 Arduino set Knx uart bugfix (#32)
* bugfix, print not allowed in constructor

* Update tpuart_data_link_layer.cpp

- start confirm timout only after last byte was sent
- increase BYTE_TIMEOUT

* -bugfix Arduino set knxUart

* Update knx-bme680.ino

* Update knx-demo.ino

* Update knx-hdc1008.ino

* Update knx-sonoffS20.ino

* Update knx-bme680.ino

* Update knx-demo.ino

* Update arduino_platform.cpp

* Update dpt.h

* Update esp32_platform.h

* Update esp_platform.h
2019-09-09 18:19:09 +02:00
Thomas Kunze
f2d45b233a add defines for datapoint types 2019-09-02 22:55:23 +02:00
Thomas Kunze
5a93bbc91c create ArduinoPlatform to reduce code duplication 2019-08-26 21:26:55 +02:00
Fabian Schmieder
14d2da82f1 added ESP32 platform (#30)
* added ESP32 platform

* fixed typo in comments
2019-08-26 13:45:14 +02:00
Thomas Kunze
378385ee97 add converstions to KnxValue and remove now obsolet methods 2019-06-12 00:01:21 +02:00
Thomas Kunze
ad7639116a fix 2019-06-02 01:39:08 +02:00
Thomas Kunze
0628d88921 change last pull request a bit 2019-05-27 21:41:04 +02:00
Maggyver
87828bd530 circuit of the led adapted for different boards (#15)
* Update knx_facade.cpp

* Update knx_facade.h

* Update knx-demo.ino
2019-05-27 20:13:57 +02:00
Thomas Kunze
bb77fa7000 fix examples. Only reserve memory on tableobject if size > 0 2019-05-13 22:31:45 +02:00
Thomas Kunze
174e29372c make GOT completely dynamic from ETS. GOs are now only available if device was programmed via ETS 2019-05-09 20:52:04 +02:00
Thomas Kunze
c44d22f6eb first real working version of knxPython 2018-12-22 14:53:31 +01:00
Thomas Kunze
cc2704b264 add first version of knx python module 2018-12-11 22:42:13 +01:00
Thomas Kunze
9708a54e71 rename main include 2018-11-07 22:16:00 +01:00
Thomas Kunze
cdbf3e70cc include linux and samd versions here 2018-11-07 00:32:36 +01:00