Commit Graph

369 Commits

Author SHA1 Message Date
thelsing
d3788d3ee4
Merge pull request #68 from etrinh/master
Merge STM32 platform
2020-06-23 00:15:18 +02:00
thelsing
2ff07d29e3
Update bits.h 2020-06-18 11:26:59 +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
918d3f37c4 Fix compilation. 2020-06-08 11:14:56 +02:00
Nanosonde
86c8f359e3 Add support for Function Properties 2020-06-08 11:04:00 +02:00
Thomas Kunze
5f4f86dcbd add platformio file and fix compiling without IP 2020-05-08 01:50:50 +02:00
Thomas Kunze
c97bcc29f3 comment some debugging code 2020-05-07 20:15:15 +02:00
etrinh
217794d219 Merge branch 'master' of https://github.com/thelsing/knx 2020-05-02 17:33:54 +02:00
Thomas Kunze
ed5dc73984 fix overrides of bau27b0 2020-05-02 11:43:02 +02:00
etrinh
d789fb1459 Enable TP medium for ESP32 2020-04-07 18:24:28 +02:00
etrinh
0f99a4c969 Fix compilation warning
STM32 uses TP
2020-04-02 22:10:50 +02:00
etrinh
ced8aa0a31 Fix conflicts with STM32 DADDR, knx DADDR rename DEVADDR 2020-04-02 18:25:52 +02:00
etrinh
34df27ee87 fix bad commit 2020-04-02 18:16:15 +02:00
etrinh
147a3942ad Add priliminar Arduino STM32 port 2020-04-02 18:09:53 +02:00
Thomas Kunze
894a54fa7f enable RF and TP 2020-03-12 21:34:00 +01:00
Thomas Kunze
445bf05f93 fix bug in save code 2020-02-11 22:16:59 +01:00
Thomas Kunze
4dda99b341 only add rf props ifdef USE_RF 2020-01-11 21:20:25 +01:00
Thomas Kunze
82f463f965 refactor cemi server object 2019-12-28 10:56:33 +01: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
02a24ea3b8 move #endif 2019-12-27 10:47:22 +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
8f61ef8608 fix length of PDT_VERSION 2019-12-22 17:45:24 +01:00
Thomas Kunze
d3d95f1185 add object for routing indication packet 2019-12-22 17:31:33 +01:00
Thomas Kunze
f8e2da00a2 refactor device object, add more const to functions 2019-12-21 17:48:46 +01:00
Thomas Kunze
729c06357a bugfixing 2019-12-18 22:14:56 +01:00
Thomas Kunze
ca27ff4ab3 bump device object version to invalidate flash (format change) 2019-12-18 21:38:41 +01:00
Thomas Kunze
15bd076c28 Merge branch 'master' of https://github.com/thelsing/knx 2019-12-18 21:28:01 +01:00
Thomas Kunze
6cd570e162 refactore TableObject classes to use Property class 2019-12-18 21:27:54 +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
b9571112d6 add some convienience methods to Property class 2019-12-12 23:40:03 +01:00
Thomas Kunze
398ba7408b get rid of InterfaceObject::objectType() and BauSystemB::descriptor() 2019-12-12 23:06:46 +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
d2b6653d68 add config.h and USE_IP USE_TP USE_RF macros 2019-12-12 21:23:37 +01:00
Thomas Kunze
4cc8b2bb36 Finish refactoring of IpParameterObject 2019-12-12 19:34:29 +01:00
Thomas Kunze
e128debabb convert CallbackProperty to template 2019-12-12 01:42:56 +01:00
Thomas Kunze
71448efdad add overrides keyword for all interface objects.
refactor properties more
2019-12-11 23:32:57 +01:00
Thomas Kunze
396994c1a5 add Property, DataProperty and CallbackProperty classes 2019-12-11 22:23:21 +01:00
Thomas Kunze
c64b7f6a01 change signature of propertyRead/Write 2019-12-10 23:42:27 +01:00
Thomas Kunze
10b83b46bc fix build 2019-12-10 23:00:25 +01:00
Thomas Kunze
cd0fdc85b6 rename sendBytes ->sendBytesMultiCast
readBytes -> readBytesMultiCast
2019-12-10 22:29:14 +01:00
Thomas Kunze
d6db6a9673 add default noop implementations for most stuff of platform. 2019-12-10 22:25:33 +01:00
Thomas Kunze
5d8264555a remove unused methods of Platform class 2019-12-10 21:44:23 +01:00
Thomas Kunze
aa230ee0b9 Merge master 2019-12-09 23:28:17 +01:00
Thomas Kunze
3ed796ef93 fix more memory bugs 2019-12-09 23:19:13 +01:00
nanosonde
a76fc31b80 Add cEMI Server with KNX USB HID support (#47) 2019-12-09 19:53:08 +01:00
Thomas Kunze
77a0d6fc2e save work 2019-12-01 21:47:29 +01:00
Thomas Kunze
75958ec52a get rid of dynamic cast, because we have no rtti on arduino 2019-11-05 17:43:28 +01:00
Thomas Kunze
d3cb967216 16 bit for blocksize should be enough 2019-11-04 21:56:49 +01:00
Thomas Kunze
07133807d8 small refactoring of memory class 2019-11-04 21:51:52 +01:00
Thomas Kunze
2659824aa2 implement save/load to/from NVM (completely untested) 2019-11-04 21:43:06 +01:00
Thomas Kunze
8421279d53 -add saveLength to SaveRestore
-undo split of Restore from SaveRestore
-add some dynamic memory management to memory-class
2019-11-03 22:09:22 +01:00
Thomas Kunze
2770f5eaa9 Split Restore from SaveRestore. 2019-10-29 22:39:44 +01:00
Thomas Kunze
94b91278bd access and allocate memory for interface-objects trough the memory class 2019-10-29 21:15:12 +01:00
Nanosonde
15b318992d Keep GPIO value sysfs file open for reading/writing 2019-10-28 20:37:40 +01:00
nanosonde
eb87ec1fe9 Compile KNX-RF specific bau27B0 and layers only if MEDIUM_TYPE is 2 (RF).
For knx-linux add MEDIUM_TYPE 0 (TP) as default to the CMakeLists.txt
2019-10-28 14:03:35 +01:00
nanosonde
c93dc81367 Add default MEDIUM_TYPE 0 (TP) 2019-10-28 13:33:06 +01:00
nanosonde
9f2981abcb Add network layer primitives for broadcastIndication() and broadcastConfirm() 2019-10-28 12:39:15 +01:00
nanosonde
6e654d4bf5 Remove GPIO methods from platform classes 2019-10-28 12:08:01 +01:00
nanosonde
1bf8874c05 Change default bauNumber to zero 2019-10-28 11:04:15 +01:00
nanosonde
93a92228b8 Add enum for NM_Read_SerialNumber_By_* 2019-10-28 11:01:01 +01:00
nanosonde
8a3d5edd8f Make max APDU length and interface object list configurable in device object 2019-10-27 10:54:42 +01:00
nanosonde
d79e022b76 Add fixes after review with upstream 2019-10-25 16:47:44 +02:00
nanosonde
fc0153e52a initial KNX RF S-Mode support 2019-10-25 16:41:29 +02:00
thelsing
eaab7d7548
Update apdu.cpp
fix short acpi detection
2019-10-23 22:16:48 +02:00
mumpf
70f387a7b9 "Restart device" implementation (#38)
* corrected float with DPT9

* Switch Programming-LED also via Bus/ETS

* Again: Prog-LED switchable from bus/ETS

* DPT16 (to bus) implemented

* - Allows ProgButton interrupts on FALLING signal

* restart device command

* - removed magic numbers
- added enum for restart states
2019-10-15 09:49:50 +02:00
mumpf
4a0b46e062 Progbutton interrupt (#35)
* corrected float with DPT9

* Switch Programming-LED also via Bus/ETS

* Again: Prog-LED switchable from bus/ETS

* DPT16 (to bus) implemented

* - Allows ProgButton interrupts on FALLING signal
2019-09-14 18:24:34 +02:00
Bernator
4a877cc1b5 Debounce prog button (#34)
* bugfix, print not allowed in constructor

* Update tpuart_data_link_layer.cpp

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

* debounce progbutton
2019-09-12 23:23:15 +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
Thomas Kunze
7cdc104b29 Merge branch 'master' of https://github.com/thelsing/knx 2019-09-09 19:07:34 +02:00
Thomas Kunze
3d90532feb add forgotten initialisation code 2019-09-09 19:07:22 +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
5577774ef9 print warning on DPT *.0 2019-09-02 22:04:07 +02:00
Thomas Kunze
923e50bf9c fix bme680 example 2019-09-02 22:00:45 +02:00
Thomas Kunze
607e386578 rename getter/setter 2019-09-02 21:16:51 +02:00
Fabian Schmieder
8d5dc5bf73 setter/getter & overloaded constructor (ArduinoPlatform) for HardwareSerial-object (#31)
* added overload to platform constructors for custom HardwareSerial-object

* added setter/getter setUart & getUart

* set Serial1 as default UART for ESP32
2019-09-01 20:49:28 +02:00
Thomas Kunze
cdcfbb4e83 fix connect 2019-08-31 03:00:35 +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
2b7e24cab0 fix build 2019-08-23 10:56:02 +02:00
Thomas Kunze
d23613ad65 convert KnxFacade to a template class 2019-08-22 22:57:35 +02:00
Thomas Kunze
db740d6687 remove mdelay and millis from platform 2019-08-22 21:31:02 +02:00
mumpf
da5466ab02 DPT16 (to bus) implemented (#28)
* DPT16 (to bus) implemented
2019-08-18 19:40:08 +02:00
mumpf
74fe42acaf corrected float with DPT9 (#27)
* corrected float with DPT9

* Switch Programming-LED also via Bus/ETS

* Again: Prog-LED switchable from bus/ETS
2019-08-17 21:14:46 +02:00
Bernator
626d1b73d1 bugfix nextAsap, translateAsap, Tx extended frame format (#26)
* 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 nextAsap, translateAsap

* bugfix Extended Frame Format TX
2019-08-09 17:34:43 +02:00
Bernator
1c53cf83cd start confirm timout only after last byte was sent (#25)
* bugfix, print not allowed in constructor

* Update tpuart_data_link_layer.cpp

- start confirm timout only after last byte was sent
- increase BYTE_TIMEOUT
2019-08-06 21:08:06 +02:00
Thomas Kunze
de8f4631b6 change association table to format 1 (see 3_5_1 p 157) 2019-07-26 23:00:08 +02:00
Thomas Kunze
8e9aef17ab improve encapsulation of accociation table 2019-07-26 22:07:20 +02:00
Thomas Kunze
b4c8671dbb Merge branch 'master' of https://github.com/thelsing/knx 2019-07-24 22:28:20 +02:00
Thomas Kunze
1e804d459e add float to knxValue 2019-07-24 22:28:11 +02:00
Bernator
d6278192a0 add timeout for TPUART reset (#23)
* bugfix, print not allowed in constructor

* add timeout for chip reset
2019-07-23 20:39:41 +02:00
Bernator
0a8c231627 bugfix, print not allowed in constructor (#22) 2019-07-23 19:19:21 +02:00
Thomas Kunze
13b1cff315 fix dpt9 for small values 2019-07-15 22:53:21 +02:00
Thomas Kunze
b3f6a0e3fa initialize all fields (hopefully) 2019-07-15 21:50:04 +02:00
Thomas Kunze
c5bf61a44f fix coredump 2019-07-15 21:32:00 +02:00
Thomas Kunze
24834d0f51 run code through clang-format 2019-07-15 21:23:51 +02:00
Thomas Kunze
a3944963f9 increase max pdu length 2019-07-15 21:22:41 +02:00
Bernator
1b626808ca async tpuart_data_link_layer version (#21)
* async data_link_layer version

* Update tpuart_data_link_layer.cpp

use platform specific millis function

* Update tpuart_data_link_layer.h

change timeouts into millis
2019-07-15 20:05:01 +02:00
Thomas Kunze
dfe000844d fix build; add debug output 2019-07-09 21:36:32 +02:00
Thomas Kunze
877db57f94 change bme example 2019-07-08 20:00:36 +02:00
Thomas Kunze
63d6d07e86 document multicast methods of applicationlayer and transportlayer 2019-07-05 23:53:43 +02:00
Thomas Kunze
1321d62e40 try an other way to create the memory reference point 2019-07-02 23:54:31 +02:00
Thomas Kunze
3a916905d6 initialize data to zero when creating a groupobject 2019-06-28 20:01:16 +02:00
Thomas Kunze
ec52bde6f0 add more doc options 2019-06-26 22:19:12 +02:00
Thomas Kunze
cb840c2201 add class diagram, protect constuctors of *PDU 2019-06-25 21:21:58 +02:00
Thomas Kunze
1975d8ac55 document APDU 2019-06-24 23:39:43 +02:00
Thomas Kunze
da05a1d51b add restart request 2019-06-24 22:22:56 +02:00
Thomas Kunze
ac24e1206a . 2019-06-12 22:09:05 +02:00
Thomas Kunze
7a0a3d30ac fix build? 2019-06-12 21:13:45 +02:00
thelsing
f65be5ee3f
Update group_object.cpp 2019-06-12 16:02:10 +02:00
Thomas Kunze
378385ee97 add converstions to KnxValue and remove now obsolet methods 2019-06-12 00:01:21 +02:00
Thomas Kunze
57db264603 document GroupObject class. Rename enum value cfUpdate 2019-06-10 23:19:10 +02:00
Thomas Kunze
6acaf59ddd move KnxValue and Dpt to extra files 2019-06-03 22:15:32 +02:00
Thomas Kunze
c5714cf1a7 some more fixes for samd 2019-06-02 01:55:26 +02:00
Thomas Kunze
3cdc5579be fix knx-demo 2019-06-02 01:33:29 +02:00
Thomas Kunze
6f9ee2ac57 correct header name 2019-06-02 01:01:16 +02:00
Thomas Kunze
3563f9d15e remove old value accessor of group objecs 2019-06-02 00:14:50 +02:00
Thomas Kunze
c898f824b8 add reboot to linux platform 2019-05-31 23:44:03 +02:00
Thomas Kunze
a35c0616ac fixed dpt 9.* add new value api to linux example 2019-05-29 22:43:21 +02:00
Thomas Kunze
ab9644b920 add accessors for union members of KNXValue 2019-05-28 21:36:26 +02:00
Thomas Kunze
d54369434a c++isfy the datapoint conversion code (untested) 2019-05-28 21:22:45 +02:00
Thomas Kunze
d58483530d add dptconvert code from knxd 2019-05-27 23:39:29 +02:00
Thomas Kunze
5b31b24337 correct flag handling for group objects 2019-05-27 22:06:32 +02:00
Thomas Kunze
0628d88921 change last pull request a bit 2019-05-27 21:41:04 +02:00
Thomas Kunze
2636510bb1 Merge branch 'master' of https://github.com/thelsing/knx 2019-05-27 20:14:24 +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
88f5c4214a remove @brief and enable JAVADOC_AUTOBRIEF in doxygen 2019-05-27 20:08:04 +02:00
Thomas Kunze
9cbd9a0760 use KnxFacade for linux too 2019-05-18 21:04:49 +02:00
Maggyver
b34c3d4ddc features added (#14)
* Update group_object.h

* Update group_object.cpp

* Update knx_facade.cpp
2019-05-18 19:52:23 +02:00
Thomas Kunze
ae9baa7702 document AddressTableObject 2019-05-16 22:51:13 +02:00
Thomas Kunze
9a811b1458 add more citations 2019-05-16 21:32:56 +02:00
Thomas Kunze
d3ac67f771 test cite 2019-05-16 21:23:54 +02:00
Thomas Kunze
474534ab4f document SaveRestore and InterfaceObject 2019-05-16 00:05:56 +02:00
Thomas Kunze
46dba3ce73 remove warnings 2019-05-15 21:53:12 +02:00
thelsing
a482209aec
Merge pull request #13 from Maggyver/master
bugfix virtual void readProperty(PropertyID id, uint32_t start, uint32_t count, uint8_t *data)
2019-05-15 21:31:24 +02:00
Thomas Kunze
3a58ca8534 move main.cpp, document SaveRestore 2019-05-15 21:25:04 +02:00
Maggyver
4d1745cc55
Update address_table_object.h 2019-05-15 21:20:44 +02:00
Thomas Kunze
069bbcde8c change documentation 2019-05-14 00:54:40 +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
c79b921d1c fix build with new esp-core 2019-03-01 20:21:03 +01:00
Thomas Kunze
f2b97ecd09 add WifiManger to examples, remove states for wps configuration 2019-02-26 22:42:06 +01:00
Thomas Kunze
5903651cfa fix bug when resending telegram 2019-02-23 00:28:13 +01:00
Thomas Kunze
176484ea80 add property desciptions for table objects 2019-02-21 22:34:34 +01:00
Thomas Kunze
c902ba5599 implement init on read 2019-02-15 20:23:52 +01:00
Thomas Kunze
4d6ac94396 remove output 2019-02-07 00:22:08 +01:00
Thomas Kunze
cde87cb643 fix build 2019-01-28 20:54:54 +01:00
Thomas Kunze
72269b5675 make path of flash.bin configurable 2019-01-21 21:29:00 +01:00
Thomas Kunze
f46f6aa70e add sonoff s20 example (not tested) 2019-01-03 22:20:50 +01:00
Thomas Kunze
c44d22f6eb first real working version of knxPython 2018-12-22 14:53:31 +01:00
Thomas Kunze
405aab0e5e some progress with python wrapper 2018-12-22 01:55:08 +01:00
Thomas Kunze
bd93aa12fa delegate memory management for knx tables to Platform class. Preallocate memory for them on linux. 2018-12-12 23:17:42 +01:00
Thomas Kunze
9708a54e71 rename main include 2018-11-07 22:16:00 +01:00
Thomas Kunze
010ddc7d21 move files back 2018-11-07 21:31:07 +01:00
Thomas Kunze
4493631031 remove submodule (hopefully) 2018-11-07 21:30:20 +01:00
Thomas Kunze
cdbf3e70cc include linux and samd versions here 2018-11-07 00:32:36 +01:00
Thomas Kunze
8bea44873b update submodule 2018-10-27 22:42:56 +02:00
Thomas Kunze
dc362a79c3 add writeMemory to facade, remove debug output from platform 2018-09-15 00:22:30 +02:00
Thomas Kunze
6334bfe3cb update sm 2018-09-07 23:41:58 +02:00
Thomas Kunze
ecce8ddd3c add save + restore callbacks 2018-09-04 21:12:50 +02:00
Thomas Kunze
2a292ae314 switch to visualgdb, update submodule 2018-08-16 23:58:57 +02:00
Thomas Kunze
21bda06133 update supmodule 2018-04-26 00:24:09 +02:00
Thomas Kunze
ca7876b73d update submodule 2018-04-21 21:39:24 +02:00
Thomas Kunze
ad0eb38fa7 update submodule 2018-04-13 23:19:57 +02:00
Thomas Kunze
809de53cc8 move more code from demo to knx-esp 2018-04-09 23:58:35 +02:00
Thomas Kunze
e99a001ac7 move common files to submodule 2018-04-09 22:46:21 +02:00
Thomas Kunze
49deaf4bd1 move common files to submodule 2018-04-09 22:44:28 +02:00