Commit Graph

69 Commits

Author SHA1 Message Date
Thomas Kunze
c3d7f3e190 fix path for Readme.md 2020-11-11 22:48:04 +01:00
nanosonde
d90843ba45
Add support for CC1310 platform based on SimpleLink SDK (#94)
* Initial commit

* Clean up

* Remove display code

* Change cmake build

* Add SimpleLink SDK for CC13xx/CC26xx as submodule

* Remove commented line from build.sh

* Working build

* Remove SDK submodule

* Squashed 'examples/knx-cc1310/coresdk_cc13xx_cc26xx/' content from commit 0d78d32

git-subtree-dir: examples/knx-cc1310/coresdk_cc13xx_cc26xx
git-subtree-split: 0d78d3280357416a5c0388148cda13717c9ffaa5

* Add more comments and enable Power_idleFunc() for NoRTOS variant.
Internal SDK driver functions which have to wait for something
will cause Power_idleFunc to be called instead of doing busy wait.

* Move CC1310 platform init around

* Optimize a bit more in debug build config as the binary does not fit into 128Kb flash otherwise.

* Explicitly list each source/header file in build config. Use linker group to resolve circular dependencies.

* Ignore vscode settings.json

* Increase stacks size

* Only compile CC1310 source code if #define DeviceFamily_CC13X0

* initial commit of CC1310 RF driver with first working RX version

* Better handling of buttonUp() across platforms

* Start cleanup

* continue cleanup

* Fix bau2920 compilation

* Continue cleanup

* Fix compilation in other examples

* Fix compilation

* htons() and ntohs() only for SAMD and STM32, but not for Linux and ESP8266 and ESP32

* htons(9 and ntohs() needed for CC13x0

* Continue cleanup

* Add CC1310 platform to CI

* Fix CI

* Use more recent toolchain from ARM

* Fix travis

* Use Ubuntu Focal

* Fix toolchain for travis

* Fix package name

* Fix toolchain

* Add libstdc++-dev package

* Add newlib packages

* Remove commented commands from CI

* Fix travis

* Fix compilation of knxPython

* Clean up linefeeds

* Fix RX callback

* Move RF CRC16-DNP to bits.cpp

* Fix TX

* Optimization: do not calc CRC for block1 again in rf_data_link_layer

* Make newline optional in printHex

* Cleanup. First working version: ETS5 programming of individual address via KNX/RF coupler.

* Use LEDs and Buttons to control ProgMode and Flash Erase

* Remove settings.json (VScode)

* Add README.md

* Update README.md

* Update README.md

* Fix typo
2020-11-10 21:52:38 +01:00
Dominik Westner
5451235368
Nikwest (#100)
* fixed tipo: RepititionAllowed

* fixed typo: frameRecieved

* fixed typo: individualAddressDuplication

* fixed typo: induvidualAddress

* fixded Typo: InduvidualAddress

Co-authored-by: Dominik Westner <nikwest@github.com>
2020-11-09 20:20:21 +01:00
Thomas Kunze
d153825f2e fix knxPython build 2020-10-28 21:44:01 +01:00
Thomas Kunze
06e2c11d96 clean up visual studio files and add root cmake 2020-10-28 21:35:24 +01:00
Thomas Kunze
f677897337 Merge commit 'f34e604d3b4bee5339ec4e9c9f36619b17f52e32' as 'examples/knxPython/pybind11' 2020-10-28 21:09:58 +01:00
Thomas Kunze
54e3f6cb12 remove pybind11 to readd as subtree 2020-10-28 21:09:35 +01:00
Nicolas Robadey
241e04330d
Datapoints ending in .0 are invalid (#91)
Change the datapoints types to 1.1, 1.2 or 1.3 to match the requirements (no dpt *.0) in dpt.cpp
2020-09-29 12:46:09 +02:00
nanosonde
aabc61dc3b
Add UART support for Linux platform to use TP1 KNX transceivers (#88)
* Add inital serial port support for Linux platform

* Add missing print implementation for uint64_t and enable mask 07B0 for Linux platform using TPUART

* Create executable per mask

* Add one executable per mask for coupler
2020-09-11 13:32:29 +02: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
Thomas Kunze
f450d87d05 refactor RfMediumObject to use properties 2020-06-24 23:03:12 +02:00
nanosonde
cadc6c6124
Refactor broadcast/systembroadcast (#62)
* Add missing source files

* Fix comment

* Refactor Broadcast/SystemBroadcast

* Add empty confirm methods

* Remove unclean solution to suppress warning about unsed var

* Restore old structure

* Fix issues

* Add more missing source files

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

* Make sure that sent broadcast/systembroadcast frames are always marked as broadcast frames on closed media
2020-06-09 21:06:13 +02:00
nanosonde
31319a690b
Fix travis build (#56)
* Disable knx-usb example

* Update python to 3.8

* Enable knx-usb example

* Update to Arduino 1.8.11

* Pin to version 1.8.11

* Use python 3.7

* Use python 3.8 and fix path

* Fix paths and remove obsolete stuff

* Add lib Wire to deps.

* Use Adafruit TinyUSB lib version 0.7.1
2020-05-07 19:35:10 +02:00
Thomas Kunze
1465cb558c split USE_USB from USE_CEMI_SERVER 2019-12-28 09:54:02 +01:00
Thomas Kunze
e2fd20ab9a implement knx-ip searchresponse 2019-12-28 00:29:17 +01:00
Thomas Kunze
6ae000482f - add some knx-ip classes
- return no data if Property has no elements
- implement get{ipAddress, netmask, defaultGw, macAddress) for linux platform
2019-12-27 02:06:10 +01:00
Thomas Kunze
d3d95f1185 add object for routing indication packet 2019-12-22 17:31:33 +01:00
thelsing
337e5bd3a5
Update CMakeLists.txt 2019-12-18 22:58:45 +01:00
thelsing
68ab5ed2e0
Update CMakeLists.txt 2019-12-18 22:51:32 +01: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
1d01317845 Travis knx usb (#48)
* Update .travis.yml

* Update platformio.ini

* Update .travis.yml

* Fix compilation

* Change platformio config

* Try to fix travis build

* 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

* save work

* save work

* save work

* Add new pio config for CI

* save work

* save work

* save work

* save work

* Try to fix CI run for example knx-linux

* Fix compilation

* Try to fix ESP8266 compilation

* Do not enable cEMI server per default. Is only enabled during platformio build externally
2019-12-16 19:52:10 +01:00
Thomas Kunze
515d18fdbf fix property save 2019-12-12 22:47:54 +01:00
Thomas Kunze
6765add06d move knx-linux and knxPyton to examples dir 2019-12-12 21:42:51 +01:00
Thomas Kunze
6d5914857a move knx-usb to examples 2019-12-12 21:29:02 +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
nanosonde
3625f31d95 Add README.md to KNX-RF demo folder 2019-10-27 10:03:48 +01:00
nanosonde
0c8a79edbd Add KNX RF example 2019-10-25 17:13:59 +02:00
henfri
6c3bbfe5a5 Update knx-bme680.ino (#36)
* Update knx-bme680.ino

Remark for .iaq vs. .iaqEstimate for BSEC_1.4.7.4

* Update knx-bme680.ino

Improvement of output
2019-09-14 18:23:00 +02: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
923e50bf9c fix bme680 example 2019-09-02 22:00:45 +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
1e804d459e add float to knxValue 2019-07-24 22:28:11 +02:00
Thomas Kunze
877db57f94 change bme example 2019-07-08 20:00:36 +02:00
Thomas Kunze
ce190a44e4 . 2019-06-12 21:33:33 +02:00
Thomas Kunze
378385ee97 add converstions to KnxValue and remove now obsolet methods 2019-06-12 00:01:21 +02:00
Thomas Kunze
c5291f3e8e disable bme build for now 2019-06-04 00:46:23 +02:00
Thomas Kunze
715aeeec0e build more sketches 2019-06-04 00:09:40 +02:00
Thomas Kunze
939a80a29f . 2019-06-03 23:56:21 +02:00
Thomas Kunze
10c0549004 change travis build 2019-06-03 22:59:42 +02:00
Thomas Kunze
d72a81bbf4 remove knx-vito for now 2019-06-03 22:25:46 +02:00
Thomas Kunze
c5714cf1a7 some more fixes for samd 2019-06-02 01:55:26 +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
3a58ca8534 move main.cpp, document SaveRestore 2019-05-15 21:25:04 +02:00