Commit Graph

37 Commits

Author SHA1 Message Date
OnlineCaveman
cf44c4efe9 Added functionality for W5500
Initialisation works. Compiling fails on "htonl" expansion. If commented out it compiles fine.
2022-10-28 19:35:02 +02:00
OnlineCaveman
b0238cfe7e Changed comment lines
Changed the comment lines to reflect the current possibilities TP and RF
2022-10-25 17:28:00 +02:00
OnlineCaveman
d24f6de36f 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.
2022-10-25 17:24:55 +02:00
OnlineCaveman
7373ab0a87 No IP version yet 2022-10-25 16:19:53 +02:00
OnlineCaveman
37e056a91c 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
2022-10-17 20:37:44 +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
SirSydom
4f6c837b78
added support for RP2040 (Raspberry Pi Pico) (#145) 2021-07-08 19:45:33 +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
Thomas Kunze
24c27815cf fix build 2020-11-18 18:39:35 +01:00
ali esmaeilpour
083d83f777
Add float type for parameters & a few fixes (#95)
* Fix not-relative include

throws if a include directory is not set.

* add forgotten defined() in environment checking '#elif's

* fix mis-spelled "config.j"

* Add float type support to Parameters

All 3 encodings supported.

* Using dptconvert functions to handle parameters handling
2020-11-11 22:55:35 +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
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
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
147a3942ad Add priliminar Arduino STM32 port 2020-04-02 18:09:53 +02:00
nanosonde
fc0153e52a initial KNX RF S-Mode support 2019-10-25 16:41:29 +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
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
Fabian Schmieder
14d2da82f1 added ESP32 platform (#30)
* added ESP32 platform

* fixed typo in comments
2019-08-26 13:45:14 +02:00
Thomas Kunze
d23613ad65 convert KnxFacade to a template class 2019-08-22 22:57:35 +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
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
da05a1d51b add restart request 2019-06-24 22:22:56 +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
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
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
f2b97ecd09 add WifiManger to examples, remove states for wps configuration 2019-02-26 22:42:06 +01:00
Thomas Kunze
cdbf3e70cc include linux and samd versions here 2018-11-07 00:32:36 +01:00
Thomas Kunze
dc362a79c3 add writeMemory to facade, remove debug output from platform 2018-09-15 00:22:30 +02:00
Thomas Kunze
ecce8ddd3c add save + restore callbacks 2018-09-04 21:12:50 +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