Firmware Builds and Tools
There are automatic builds from source code in the develop, release and master branch as provided over GitHub.
A build package filename (e.g. shc_basestation_130928_0524_develop_v0.1.1-1-gf02bdd5.7z) consists of the following parts:
- The name describing for which device the package is for.
- The build date in the format YYMMDD_HHMM.
- The name of the branch.
- The latest tag known in the branch formatted as v{MAJOR}.{MINOR}.{PATCH}[-{EXTENSION}] (e.g. "v0.1.1").
- The number of commits since the last tag (e.g. "5"). A zero indicates that it is the tagged build without changes.
- The head revision ID as short hash (e.g. "gf02bdd5").
Read more about branching and versioning.
Latest Builds
This is an overview of the latest successful builds for all devices and branches.
Device | develop | release | master |
---|---|---|---|
shc_e2p_editor | v0.10.1-242-ga976a07 (335 days old) |
v0.13.0-rc.1-0-gb18cbf0 (270 days old) |
v0.13.0-0-g278c0ec (269 days old) |
shc_basestation | v0.10.1-220-g10c291c (372 days old) |
v0.13.0-rc.1-0-gb18cbf0 (270 days old) |
v0.13.0-0-g278c0ec (269 days old) |
shc_controller | v0.13.0-1-ge40fd24 (4 days old) |
v0.13.0-rc.1-0-gb18cbf0 (270 days old) |
v0.13.0-0-g278c0ec (269 days old) |
shc_envsensor | v0.10.1-207-gc2b24f8 (376 days old) |
v0.13.0-rc.1-0-gb18cbf0 (270 days old) |
v0.13.0-0-g278c0ec (269 days old) |
shc_powerswitch | v0.10.1-217-gd4fdd46 (374 days old) |
v0.13.0-rc.1-0-gb18cbf0 (270 days old) |
v0.13.0-0-g278c0ec (269 days old) |
shc_rgb_dimmer | v0.10.1-217-gd4fdd46 (374 days old) |
v0.13.0-rc.1-0-gb18cbf0 (270 days old) |
v0.13.0-0-g278c0ec (269 days old) |
shc_dimmer | v0.10.1-217-gd4fdd46 (374 days old) |
v0.13.0-rc.1-0-gb18cbf0 (270 days old) |
v0.13.0-0-g278c0ec (269 days old) |
shc_soil_moisture_meter | v0.10.1-148-g6117b55 (451 days old) |
v0.13.0-rc.1-0-gb18cbf0 (270 days old) |
v0.13.0-0-g278c0ec (269 days old) |
shc_fhem | v0.10.1-245-g8685b32 (331 days old) |
v0.13.0-rc.1-0-gb18cbf0 (270 days old) |
v0.13.0-0-g278c0ec (269 days old) |
All Builds + Changelog
shc_e2p_editor (develop)
20230526 develop_v0.10.1-242-ga976a07 | Download |
---|---|
Define to not send menu selection without user interaction by default. This can lead to unwanted behaviour in receiving home automation software as it looks as if the user selected something. | 2023-05-25 |
20230512 develop_v0.10.1-231-g5a5c8c1 | Download |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in E2P editor. | 2023-05-11 |
20230510 develop_v0.10.1-228-ge8a20ab | Download |
Support display_backlight function in controller device. | 2023-05-09 |
20230426 develop_v0.10.1-227-gad8d6ca | Download |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
20230421 develop_v0.10.1-222-g10eef74 | Download |
Extend max. virtual pages to 4. | 2023-04-20 |
20230419 develop_v0.10.1-220-g10c291c | Download |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
20230414 develop_v0.10.1-205-g3499999 | Download |
Fix basestation e2p layout. Add UartBaudRate again. | 2023-04-13 |
Update message description. | 2023-04-13 |
20230412 develop_v0.10.1-198-g8e9d619 | Download |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
20230311 develop_v0.10.1-182-g117be7e | Download |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement generation of ByteArray access functions in the E2P Editor's SourceCodeGenerator. | 2023-03-10 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
20230130 develop_v0.10.1-148-g6117b55 | Download |
Support 2kB E2P for ATMega644, which is used in the Controller device. | 2023-01-27 |
Add initial Controller device e2p layout. | 2022-11-24 |
20221125 develop_v0.10.1-136-g01b4871 | Download |
Define new default 48 value for TransceiverWatchdogTimeout, so that the function is on by default. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
20220924 develop_v0.10.1-120-gef383c9 | Download |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
20220920 develop_v0.10.1-114-g28f653f | Download |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20191118 develop_v0.10.1-111-gfd16790 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
20191117 develop_v0.10.1-110-g23b294b | Download |
Rename E2P values for PM sensor. | 2019-11-16 |
Redesign ParticulateMatter message to use UIntValue instead of FloatValue. This reduces message size and makes ParticulateMatterConfig obsolete. | 2019-11-16 |
Add kateconfig. | 2019-11-16 |
Add some files created by current eclipse version. | 2019-11-11 |
Support FloatValue type in SourceCodeGnerator. | 2019-11-11 |
Define new messages for ParticulateMatter sensor. | 2019-11-11 |
Add e2p configuration for ParticulateMatter sensor. | 2019-11-11 |
Introduce new data type FloatValue. | 2019-11-11 |
Add build script to not forget how building the package works. | 2019-11-10 |
Add shell script to start generation of e2p and packet source code files. | 2019-11-07 |
20191021 develop_v0.10.1-91-g6efd3de | Download |
Update copyright info. | 2019-10-20 |
Remove quotation marks around file name under linux. User can add them if wanted in the command line. | 2019-10-20 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
Improve description in e2p layout. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
20180318 develop_v0.10.1-75-g35a42b5 | Download |
Add TransceiverWatchdogTimeout for Base Station. | 2017-11-12 |
20180318 develop_v0.10.1-72-g66baf5e | Download |
20160424 develop_v0.10.1-65-g67459da | Download |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Use specified MicrocontrollerModel in e2p layout for calling the flash utility. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Add DeviceType TeaMaker (90). | 2016-04-23 |
Add StartupConfirmationMessage to E2P layout and some Reserved areas for future additions. | 2016-04-23 |
Add possibility to define microcontroller model in e2p layout file (used by e2p editor, which also calls the flash program). | 2016-04-23 |
Correct reading and writing to e2p byte array when using new string mode of the byte array editor. | 2016-04-23 |
Remove unused import which caused error in compiling the program. | 2016-04-23 |
Add possibility to switch byte array editor to string mode (instead of hex mode). This can be used to easily define tea maker strings shown on the display. | 2016-04-23 |
Remember window size and split pane divider location in cfg file. | 2016-04-22 |
Clean up imports. | 2016-04-22 |
Clean up imports. | 2016-04-22 |
20160417 develop_v0.10.1-48-g1e296d1 | Download |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
20160411 develop_v0.10.1-46-g1537623 | Download |
Add TeaMaker device with ID 90. | 2016-04-10 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
20150622 develop_v0.10.1-16-g1d2ec9d | Download |
Update description of TransceiverWatchdogTimeout value. | 2015-06-22 |
20150524 develop_v0.10.1-6-g29ed99b | Download |
Set default value for RFM watchdog. | 2015-05-23 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
20150416 develop_v0.9.0-rc.5-47-g8f5b2e0 | Download |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
20150307 develop_v0.9.0-rc.5-30-gae9c9a6 | Download |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
20150303 develop_v0.9.0-rc.5-21-g052a55f | Download |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150208 develop_v0.7.0-rc.1-145-g9768f76 | Download |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
20150112 develop_v0.7.0-rc.1-139-g428fc33 | Download |
Correct some wake-up values. SoilMoistureMeter did not wake up at large intervals. | 2015-01-11 |
20150111 develop_v0.7.0-rc.1-135-g2083b6f | Download |
Change default values for SoilMoistureMeter. | 2015-01-10 |
20150105 develop_v0.7.0-rc.1-132-g2e5d5de | Download |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
20150104 develop_v0.7.0-rc.1-126-g9e692df | Download |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
20141123 develop_v0.7.0-rc.1-118-g4913df8 | Download |
20141117 develop_v0.7.0-rc.1-117-gaafd1c8 | Download |
Update description. | 2014-11-16 |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
20141010 develop_v0.7.0-rc.1-108-g563a108 | Download |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
20140928 develop_v0.7.0-rc.1-78-g85f7def | Download |
Update max number of switches in e2p to 6. | 2014-09-27 |
Mark messages as deprecated. | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Use ATMega328 instead of 168. | 2014-09-21 |
Use ATMega 168p instead of 168 in avrdude parameter. | 2014-09-20 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
20140916 develop_v0.7.0-rc.1-58-g7f23e17 | Download |
Update comment. Remove brightness translation table because a fixed lookup table is implemented to make the brightness levels appear linear to the human eye. | 2014-09-16 |
Change order of value in ColorAnimation message according (new) description on homepage. | 2014-08-03 |
20140727 develop_v0.7.0-rc.1-27-gafc0018 | Download |
Change number of colors. | 2014-07-23 |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
20140722 develop_v0.7.0-rc.1-16-g4335fd0 | Download |
Add color animation message, using the new "structured array". | 2014-07-21 |
Add support for "structured arrays", which is a series of elements consisting of sub-elements (like a struct). The advantage over using several normal arrays is that in a "structured array", all sub-elements are grouped together at one place. That allows that the data is concentrated at the beginning of a packet if only the beginning of the array is used. Later on, this will allow to truncate a packet if the rest of it does only contain empty values (0 bytes). | 2014-07-21 |
Add color message in dimmer message group. | 2014-07-20 |
20140713 develop_v0.7.0-rc.1-11-g59b2953 | Download |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Define DefaultVal for BrightnessFactor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
Add initial e2p config block for the RGB dimmer. | 2014-07-12 |
20140708 develop_v0.5.0-222-g162f37f | Download |
Update comments, cleanup imports. | 2014-07-07 |
Increase scroll speed in panels. | 2014-07-07 |
20140630 develop_v0.5.0-210-g5b53812 | Download |
Show legend for color codes in input components. | 2014-06-29 |
Add component for editing boolean values, including "Default" button and background coloring. | 2014-06-29 |
Support default values in e2p editor for UIntValue, IntValue, EnumValue and ByteArray. Show entries in yellow if they differ from the default. Show a button "Default" to reset the value to the default. | 2014-06-29 |
Rename attribute "Default" to "DefaultVal" to make it similar to MinVal and MaxVal. | 2014-06-29 |
20140629 develop_v0.5.0-206-g139bd55 | Download |
Set default values for e2p configs where needed. | 2014-06-28 |
Add possibility to define default values for UIntValue, IntValue, BoolValue, EnumValue and ByteArray values in data type definitions. This can be used in the e2p editor to have useful defaults. | 2014-06-28 |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
20140628 develop_v0.5.0-202-g46d3e24 | Download |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
20140625 develop_v0.5.0-197-gd0bcd85 | Download |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
Add Up/Down to OnChange DI pin watching When watching pins, f.ex. a motion detector, it may be useful to only send rising or falling edges. | 2014-06-24 |
20140616 develop_v0.5.0-190-gfad02fd | Download |
rename e2p values | 2014-06-15 |
20140615 develop_v0.5.0-185-g42629fa | Download |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Fix that EnumValues with more than 8 bits size are read out of E2P correctly. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
20140611 develop_v0.5.0-173-g7ef5465 | Download |
Include needed header file. | 2014-06-10 |
20140526 develop_v0.5.0-132-g219892d | Download |
Detect OS (Windows or Linux) and use other command line for flashing. | 2014-05-25 |
20140511 develop_v0.5.0-127-g1e35889 | Download |
Add message group "GPIO" and a message to send the status of digital pins. | 2014-05-11 |
Add support for digital input pins in the e2p config of the envsensor. | 2014-05-11 |
20140507 develop_v0.5.0-110-gada1ea5 | Download |
Correct e2p layout description. | 2014-05-03 |
20140427 develop_v0.5.0-91-g2f1d533 | Download |
correct reserved area in e2p | 2014-04-26 |
Split up messages into new message groups "weather" and "environment". | 2014-04-26 |
Add HumiditySensorType and DistanceSensorType to e2p layout of envsensor. | 2014-04-26 |
20140406 develop_v0.5.0-38-gc24ce15 | Download |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
SRF02: Add config options for SRF02 | 2014-03-31 |
Add configuration options for BMP085 | 2014-03-25 |
20140324 develop_v0.4.0-rc.1-26-gd924cd9 | Download |
Use correct editor dialog for ByteArrays in e2p editor. | 2014-03-23 |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Move string generation function for Byte/Bit positions to Util. Support Arrays in packets. | 2014-03-23 |
Add SwitchStateExt message (for testing Array functionality in packets primarily). | 2014-03-23 |
Simplify generation of access strings for e2p byte and bit offset. Correct offset for Enums. | 2014-03-23 |
Correct calculation of byte and bit position in generated e2p header files. | 2014-03-23 |
Print a warning if a BoolValue in e2p is not at a byte boundary. | 2014-03-23 |
Remove the possibility to have arrays of "Reserved" bits, which make no sense. | 2014-03-23 |
20140323 develop_v0.4.0-rc.1-16-g62c3cbd | Download |
Add "Array" as possible data type for e2p layouts. An Array can store a series of one of the other primitive data types. Add an editor for BoolValues to the e2p editor. | 2014-03-22 |
20140319 develop_v0.4.0-rc.1-15-gbc0661e | Download |
Move definition of data types to a separate XSD file, because they are used both in the e2p and the packet metamodel. | 2014-03-16 |
add cfg file to gitignore | 2014-03-16 |
20140316 develop_v0.4.0-rc.1-13-gfe83608 | Download |
Implement new flash dialog which remembers the used command line using a file. | 2014-03-15 |
20140309 develop_v0.4.0-rc.1-8-g22ed0e6 | Download |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
20140309 develop_v0.4.0-rc.1-1-g2759da9 | Download |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
20140212 develop_v0.3.0-rc.1-33-g9c70cc8 | Download |
Read version from pom.properties file at start up and and show it in the about box. The version is set by the build robot, so official builds now contain the version information. | 2014-02-10 |
revert JComboBox constructor to old version which is Java 1.6 compatible | 2014-02-10 |
Support (signed) int value in e2p layout, e2p editor and generator. | 2014-02-09 |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
minor code cleanup | 2014-02-09 |
20140209 develop_v0.3.0-rc.1-24-gc67c8c9 | Download |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
Immediately check default data for validity to avoid wrong error message when saving data to file. | 2014-02-08 |
20140127 develop_v0.3.0-rc.1-18-g26ca39e | Download |
Generate one e2p header file for each block. Avoid repeating the "Hardware" and "Generic" blocks in every device specific header file. | 2014-01-26 |
make function public (for E2P generator) | 2014-01-26 |
Add annotation in xsd. | 2014-01-26 |
Rename E2P config blocks by removing the "Config" suffix to make them consistent with the header files. | 2014-01-26 |
create e2p header files in src_common folder | 2014-01-26 |
Add thermostat e2p config block. Change device names to the spelling as used in packet definitions. | 2014-01-26 |
20140118 develop_v0.2.0-76-gafdf34d | Download |
set default values in ByteArrayTextArea and UIntTextArea in constructor so there is already valid data in them when GUI is presented to the user | 2014-01-18 |
remove unused imports | 2014-01-18 |
improve description of e2p field | 2014-01-18 |
20140107 develop_v0.2.0-53-gc2dc11e | Download |
correct calculation of packets when they don't have message data | 2014-01-06 |
add dimmer message definitions | 2014-01-06 |
use ATMega328 for power switch to allow more features and debugging output | 2014-01-06 |
20140105 develop_v0.2.0-39-gbd2cda2 | Download |
set __MESSAGETYPE variable correctly | 2014-01-04 |
20140102 develop_v0.2.0-35-g0d87767 | Download |
fix generation of MessageID enum | 2014-01-01 |
Add common set functions for header extensions. Add ENUMs for MessageGroupID and MessageID. | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
20140101 develop_v0.2.0-28-gb080f33 | Download |
update source code generator for data packets / messages to reflect newest XML layout, rename class | 2013-12-31 |
rename file | 2013-12-25 |
add header extension concept to support different packet types | 2013-12-25 |
20131206 develop_v0.2.0-21-gb85f684 | Download |
add packet metamodel file | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
20131113 develop_v0.2.0-rc.3-8-ge04ad3a | Download |
make sure a new e2p file is 1024 bytes in size so it can be read without problems even devicetype is not set yet | 2013-11-09 |
set fixed filename for JAR file | 2013-11-09 |
20131109 develop_v0.2.0-rc.1-0-g93d6114 | Download |
20131106 develop_v0.1.1-39-g93d6114 | Download |
fix issue #20 (E2P Editor crashes with null pointer exception when using Java 7) | 2013-11-06 |
react on changed DeviceType in the EnumEditor with updating the other editor components on the right side | 2013-11-06 |
20131104 develop_v0.1.1-37-g0d81754 | Download |
add e2p support for dimmer | 2013-11-03 |
20131028 develop_v0.1.1-23-g3645da1 | Download |
support new e2p layout in powerswitch | 2013-10-27 |
20131027 develop_v0.1.1-21-gfed23ae | Download |
correct detection of MC type to flash, change default flash command | 2013-10-26 |
20131014 develop_v0.1.1-13-g732fff0 | Download |
remove unused file | 2013-10-13 |
Handle the case correctly when E2P file is too short (corrupt). | 2013-10-12 |
Add Base Station E2P config block to layout. | 2013-10-12 |
20131006 develop_v0.1.1-4-gbd3d701 | Download |
Add a e2p config block to e2p layout. Use temperature and brightness sensor settings for configuration of connected sensor type. Implement using the new values to avoid that the firmware hangs (waits forever) when no SHT15 is connected. | 2013-10-05 |
20131001 develop_v0.1-4-gbc0a281 | Download |
20130925 develop_v0.1-1-gf02bdd5 | Download |
use .org domain | 2013-09-22 |
20130925 develop_v0.1-0-g0697553 | Download |
TAG: stable version with initial eeprom and message format | 2024-04-25 |
shc_e2p_editor (release)
20230729 release_v0.13.0-rc.1-0-gb18cbf0 | Download |
---|---|
Define to not send menu selection without user interaction by default. This can lead to unwanted behaviour in receiving home automation software as it looks as if the user selected something. | 2023-05-25 |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in E2P editor. | 2023-05-11 |
Support display_backlight function in controller device. | 2023-05-09 |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
Extend max. virtual pages to 4. | 2023-04-20 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
Fix basestation e2p layout. Add UartBaudRate again. | 2023-04-13 |
Update message description. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement generation of ByteArray access functions in the E2P Editor's SourceCodeGenerator. | 2023-03-10 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
Support 2kB E2P for ATMega644, which is used in the Controller device. | 2023-01-27 |
Add initial Controller device e2p layout. | 2022-11-24 |
Define new default 48 value for TransceiverWatchdogTimeout, so that the function is on by default. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20220906 release_v0.12.0-rc.1-0-ga8c1fc0 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Rename E2P values for PM sensor. | 2019-11-16 |
Redesign ParticulateMatter message to use UIntValue instead of FloatValue. This reduces message size and makes ParticulateMatterConfig obsolete. | 2019-11-16 |
Add kateconfig. | 2019-11-16 |
Add some files created by current eclipse version. | 2019-11-11 |
Support FloatValue type in SourceCodeGnerator. | 2019-11-11 |
Define new messages for ParticulateMatter sensor. | 2019-11-11 |
Add e2p configuration for ParticulateMatter sensor. | 2019-11-11 |
Introduce new data type FloatValue. | 2019-11-11 |
Add build script to not forget how building the package works. | 2019-11-10 |
Add shell script to start generation of e2p and packet source code files. | 2019-11-07 |
Update copyright info. | 2019-10-20 |
Remove quotation marks around file name under linux. User can add them if wanted in the command line. | 2019-10-20 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
Improve description in e2p layout. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Add TransceiverWatchdogTimeout for Base Station. | 2017-11-12 |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Use specified MicrocontrollerModel in e2p layout for calling the flash utility. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Add DeviceType TeaMaker (90). | 2016-04-23 |
Add StartupConfirmationMessage to E2P layout and some Reserved areas for future additions. | 2016-04-23 |
Add possibility to define microcontroller model in e2p layout file (used by e2p editor, which also calls the flash program). | 2016-04-23 |
Correct reading and writing to e2p byte array when using new string mode of the byte array editor. | 2016-04-23 |
Remove unused import which caused error in compiling the program. | 2016-04-23 |
Add possibility to switch byte array editor to string mode (instead of hex mode). This can be used to easily define tea maker strings shown on the display. | 2016-04-23 |
Remember window size and split pane divider location in cfg file. | 2016-04-22 |
Clean up imports. | 2016-04-22 |
Clean up imports. | 2016-04-22 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Add TeaMaker device with ID 90. | 2016-04-10 |
20151212 release_v0.11.0-rc.1-0-g3042e25 | Download |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description of TransceiverWatchdogTimeout value. | 2015-06-22 |
Set default value for RFM watchdog. | 2015-05-23 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
20150502 release_v0.10.0-rc.1-0-g39b1b02 | Download |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150208 release_v0.9.0-rc.1-0-ga724183 | Download |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Correct some wake-up values. SoilMoistureMeter did not wake up at large intervals. | 2015-01-11 |
Change default values for SoilMoistureMeter. | 2015-01-10 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Update description. | 2014-11-16 |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Mark messages as deprecated. | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Use ATMega328 instead of 168. | 2014-09-21 |
Use ATMega 168p instead of 168 in avrdude parameter. | 2014-09-20 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
20140916 release_v0.8.0-rc.1-0-gfe3f648 | Download |
Update comment. Remove brightness translation table because a fixed lookup table is implemented to make the brightness levels appear linear to the human eye. | 2014-09-16 |
Change order of value in ColorAnimation message according (new) description on homepage. | 2014-08-03 |
Change number of colors. | 2014-07-23 |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Add color animation message, using the new "structured array". | 2014-07-21 |
Add support for "structured arrays", which is a series of elements consisting of sub-elements (like a struct). The advantage over using several normal arrays is that in a "structured array", all sub-elements are grouped together at one place. That allows that the data is concentrated at the beginning of a packet if only the beginning of the array is used. Later on, this will allow to truncate a packet if the rest of it does only contain empty values (0 bytes). | 2014-07-21 |
Add color message in dimmer message group. | 2014-07-20 |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Define DefaultVal for BrightnessFactor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
Add initial e2p config block for the RGB dimmer. | 2014-07-12 |
20140710 release_v0.7.0-rc.1-0-g309c9d6 | Download |
Update comments, cleanup imports. | 2014-07-07 |
Increase scroll speed in panels. | 2014-07-07 |
Show legend for color codes in input components. | 2014-06-29 |
Add component for editing boolean values, including "Default" button and background coloring. | 2014-06-29 |
Support default values in e2p editor for UIntValue, IntValue, EnumValue and ByteArray. Show entries in yellow if they differ from the default. Show a button "Default" to reset the value to the default. | 2014-06-29 |
Rename attribute "Default" to "DefaultVal" to make it similar to MinVal and MaxVal. | 2014-06-29 |
Set default values for e2p configs where needed. | 2014-06-28 |
Add possibility to define default values for UIntValue, IntValue, BoolValue, EnumValue and ByteArray values in data type definitions. This can be used in the e2p editor to have useful defaults. | 2014-06-28 |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
Add Up/Down to OnChange DI pin watching When watching pins, f.ex. a motion detector, it may be useful to only send rising or falling edges. | 2014-06-24 |
rename e2p values | 2014-06-15 |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Fix that EnumValues with more than 8 bits size are read out of E2P correctly. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
Include needed header file. | 2014-06-10 |
Detect OS (Windows or Linux) and use other command line for flashing. | 2014-05-25 |
Add message group "GPIO" and a message to send the status of digital pins. | 2014-05-11 |
Add support for digital input pins in the e2p config of the envsensor. | 2014-05-11 |
20140506 release_v0.6.0-rc.1-0-g8900514 | Download |
Correct e2p layout description. | 2014-05-03 |
correct reserved area in e2p | 2014-04-26 |
Split up messages into new message groups "weather" and "environment". | 2014-04-26 |
Add HumiditySensorType and DistanceSensorType to e2p layout of envsensor. | 2014-04-26 |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
SRF02: Add config options for SRF02 | 2014-03-31 |
Add configuration options for BMP085 | 2014-03-25 |
Use correct editor dialog for ByteArrays in e2p editor. | 2014-03-23 |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Move string generation function for Byte/Bit positions to Util. Support Arrays in packets. | 2014-03-23 |
Add SwitchStateExt message (for testing Array functionality in packets primarily). | 2014-03-23 |
Simplify generation of access strings for e2p byte and bit offset. Correct offset for Enums. | 2014-03-23 |
Correct calculation of byte and bit position in generated e2p header files. | 2014-03-23 |
Print a warning if a BoolValue in e2p is not at a byte boundary. | 2014-03-23 |
Remove the possibility to have arrays of "Reserved" bits, which make no sense. | 2014-03-23 |
Add "Array" as possible data type for e2p layouts. An Array can store a series of one of the other primitive data types. Add an editor for BoolValues to the e2p editor. | 2014-03-22 |
Move definition of data types to a separate XSD file, because they are used both in the e2p and the packet metamodel. | 2014-03-16 |
add cfg file to gitignore | 2014-03-16 |
Implement new flash dialog which remembers the used command line using a file. | 2014-03-15 |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
20140224 release_v0.4.0-rc.1-0-g2feca00 | Download |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
Read version from pom.properties file at start up and and show it in the about box. The version is set by the build robot, so official builds now contain the version information. | 2014-02-10 |
revert JComboBox constructor to old version which is Java 1.6 compatible | 2014-02-10 |
Support (signed) int value in e2p layout, e2p editor and generator. | 2014-02-09 |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
minor code cleanup | 2014-02-09 |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
Immediately check default data for validity to avoid wrong error message when saving data to file. | 2014-02-08 |
Generate one e2p header file for each block. Avoid repeating the "Hardware" and "Generic" blocks in every device specific header file. | 2014-01-26 |
make function public (for E2P generator) | 2014-01-26 |
Add annotation in xsd. | 2014-01-26 |
Rename E2P config blocks by removing the "Config" suffix to make them consistent with the header files. | 2014-01-26 |
create e2p header files in src_common folder | 2014-01-26 |
Add thermostat e2p config block. Change device names to the spelling as used in packet definitions. | 2014-01-26 |
20140118 release_v0.3.0-rc.1-0-gc639872 | Download |
set default values in ByteArrayTextArea and UIntTextArea in constructor so there is already valid data in them when GUI is presented to the user | 2014-01-18 |
remove unused imports | 2014-01-18 |
improve description of e2p field | 2014-01-18 |
correct calculation of packets when they don't have message data | 2014-01-06 |
add dimmer message definitions | 2014-01-06 |
use ATMega328 for power switch to allow more features and debugging output | 2014-01-06 |
set __MESSAGETYPE variable correctly | 2014-01-04 |
fix generation of MessageID enum | 2014-01-01 |
Add common set functions for header extensions. Add ENUMs for MessageGroupID and MessageID. | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
update source code generator for data packets / messages to reflect newest XML layout, rename class | 2013-12-31 |
rename file | 2013-12-25 |
add header extension concept to support different packet types | 2013-12-25 |
add packet metamodel file | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
20131109 release_v0.2.0-rc.2-0-gb1d6321 | Download |
make sure a new e2p file is 1024 bytes in size so it can be read without problems even devicetype is not set yet | 2013-11-09 |
20131109 release_v0.2.0-rc.1-1-g2b200d3 | Download |
set fixed filename for JAR file | 2013-11-09 |
20131108 release_v0.2.0-rc.1-0-g93d6114 | Download |
shc_e2p_editor (master)
20230730 master_v0.13.0-0-g278c0ec | Download |
---|---|
TAG: *General:* Support "deliver" message to ensure that the base station received a message sent by a device (used by controller device). Support 64 byte packets. Support ATMega1284 and 4kB e2p. Improve collision detection timing. *Controller:* New device which acts as user interface. Supports LCD text display, RGB LED, speaker and buttons to navigate through a menu with options defined in e2p. Can be used as control interface for smart home functions. *Powerswitch:* Support for On/Off delay that is used when a status change is triggered by the optional switch. Put relais state into status message. Fix version status cycle. *RGB Dimmer:* HW break! Pins for RGB LEDs changed to have common source code with controller device. Support "tone" and "melody" message to play (warning) melodies / alerts. *FHEM:* Update modules to be used with new controller device. Use default baud rate of 115200. Avoid "require" keyword and "given/when". | 2024-04-25 |
Define to not send menu selection without user interaction by default. This can lead to unwanted behaviour in receiving home automation software as it looks as if the user selected something. | 2023-05-25 |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in E2P editor. | 2023-05-11 |
Support display_backlight function in controller device. | 2023-05-09 |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
Extend max. virtual pages to 4. | 2023-04-20 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
Fix basestation e2p layout. Add UartBaudRate again. | 2023-04-13 |
Update message description. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement generation of ByteArray access functions in the E2P Editor's SourceCodeGenerator. | 2023-03-10 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
Support 2kB E2P for ATMega644, which is used in the Controller device. | 2023-01-27 |
Add initial Controller device e2p layout. | 2022-11-24 |
Define new default 48 value for TransceiverWatchdogTimeout, so that the function is on by default. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20220906 master_v0.12.0-0-gec025f0 | Download |
TAG: EnvSensor: Support ParticulateMatter sensor. Support FloatValue type in e2p. Add tea maker project (currently not being worked on). Add shutter control HW. Generic maxi speed 1.2 introduces transistor to switch RFM module on/off. Support transceiver timeout to restart RFM12 if needed. Allow to edit strings as array in e2p editor. | 2024-04-25 |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Rename E2P values for PM sensor. | 2019-11-16 |
Redesign ParticulateMatter message to use UIntValue instead of FloatValue. This reduces message size and makes ParticulateMatterConfig obsolete. | 2019-11-16 |
Add kateconfig. | 2019-11-16 |
Add some files created by current eclipse version. | 2019-11-11 |
Support FloatValue type in SourceCodeGnerator. | 2019-11-11 |
Define new messages for ParticulateMatter sensor. | 2019-11-11 |
Add e2p configuration for ParticulateMatter sensor. | 2019-11-11 |
Introduce new data type FloatValue. | 2019-11-11 |
Add build script to not forget how building the package works. | 2019-11-10 |
Add shell script to start generation of e2p and packet source code files. | 2019-11-07 |
Update copyright info. | 2019-10-20 |
Remove quotation marks around file name under linux. User can add them if wanted in the command line. | 2019-10-20 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
Improve description in e2p layout. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Add TransceiverWatchdogTimeout for Base Station. | 2017-11-12 |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Use specified MicrocontrollerModel in e2p layout for calling the flash utility. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Add DeviceType TeaMaker (90). | 2016-04-23 |
Add StartupConfirmationMessage to E2P layout and some Reserved areas for future additions. | 2016-04-23 |
Add possibility to define microcontroller model in e2p layout file (used by e2p editor, which also calls the flash program). | 2016-04-23 |
Correct reading and writing to e2p byte array when using new string mode of the byte array editor. | 2016-04-23 |
Remove unused import which caused error in compiling the program. | 2016-04-23 |
Add possibility to switch byte array editor to string mode (instead of hex mode). This can be used to easily define tea maker strings shown on the display. | 2016-04-23 |
Remember window size and split pane divider location in cfg file. | 2016-04-22 |
Clean up imports. | 2016-04-22 |
Clean up imports. | 2016-04-22 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Add TeaMaker device with ID 90. | 2016-04-10 |
20160103 master_v0.11.0-0-gfa208fc | Download |
TAG: Increase stability of devices which send and receive and have sporadic hangs of RFM module: Added configurable (optional) watchdog to reset ATMega and RFM12B when nothing is received some time. Add HardwareError message to FHEM parser to log the error cases. Update Soil Moisture Meter PCB (V1.2) with 6-pin ISP connector including VCC pin. Update Dimmer PCB (V1.3), Power Switch PCB (V1.1), Generic Maxi Speed PCB (V1.1) by added VCC pin on ISP connector and/or connection of RFM power pin to an I/O pin for shutting it off in case of a hang. Added new Generic Micro 2 SMD PCB (V1.0) which is compatible to a Generic Midi and can be used as a smaller EnvSensor device. | 2024-04-25 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description of TransceiverWatchdogTimeout value. | 2015-06-22 |
Set default value for RFM watchdog. | 2015-05-23 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
20150517 master_v0.10.1-0-g9d85b61 | Download |
TAG: Hotfix for buggy CRC check with GCC 4.7.2 on linux (which my build robot uses under linux). | 2024-04-25 |
20150516 master_v0.10.0-0-g6ecdef6 | Download |
TAG: Speed up of communication to/from base station by supporting 115200 baud on UART and shortening strings. Reaction on a command over UART until encrypted packet is sent is now under 20ms! Add CRC32 at the end of the packet data string to secure sommunication from base station to PC (fhem). Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. Add SmoothingPercentage parameter to SoilMoistureMeter to smooth reported humidity values. | 2024-04-25 |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150301 master_v0.9.0-0-gec1ee4e | Download |
TAG: Add new device soil moisture meter (schematics, layout and firmware). Speed up encryption/decryption drastically by using other AES lib. Support additional sensors in EnvSensor: HTU21d (I2C, humidity + temperature), DS18S20/DS18B20 (1-wire, temperature). Reduce power consumption to ~1.8µA at EnvSensor by switching off BOD in sleep mode. Support DeviceInfo message (containing DeviceType + firmware version) at all devices. Send Error Ack for messages which are not supported at all devices. Several minor fixes. | 2024-04-25 |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Correct some wake-up values. SoilMoistureMeter did not wake up at large intervals. | 2015-01-11 |
Change default values for SoilMoistureMeter. | 2015-01-10 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Update description. | 2014-11-16 |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Mark messages as deprecated. | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Use ATMega328 instead of 168. | 2014-09-21 |
Use ATMega 168p instead of 168 in avrdude parameter. | 2014-09-20 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
20140921 master_v0.8.0-0-gc0ed0c3 | Download |
TAG: Implement RGB dimmer firmware. Support Color and ColorAnimation message for an animation (fading) of several colors, using repeat and autoreverse parameters for different visual effects. BaseStation: Automatically truncate empty bytes in messages before sending. Fix sending packets > 16 bytes. Avoid request queue for broadcast requests. | 2024-04-25 |
Update comment. Remove brightness translation table because a fixed lookup table is implemented to make the brightness levels appear linear to the human eye. | 2014-09-16 |
Change order of value in ColorAnimation message according (new) description on homepage. | 2014-08-03 |
Change number of colors. | 2014-07-23 |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Add color animation message, using the new "structured array". | 2014-07-21 |
Add support for "structured arrays", which is a series of elements consisting of sub-elements (like a struct). The advantage over using several normal arrays is that in a "structured array", all sub-elements are grouped together at one place. That allows that the data is concentrated at the beginning of a packet if only the beginning of the array is used. Later on, this will allow to truncate a packet if the rest of it does only contain empty values (0 bytes). | 2014-07-21 |
Add color message in dimmer message group. | 2014-07-20 |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Define DefaultVal for BrightnessFactor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
Add initial e2p config block for the RGB dimmer. | 2014-07-12 |
20140728 master_v0.7.0-0-g0e996cc | Download |
TAG: EnvSensor: add digital + analog input support, configurable wake-up / measuring times. Add support for SRF02 ultrasonic distance sensor. E2PEditor: Handling of default values for config options, incl. coloring of modified values. | 2024-04-25 |
Update comments, cleanup imports. | 2014-07-07 |
Increase scroll speed in panels. | 2014-07-07 |
Show legend for color codes in input components. | 2014-06-29 |
Add component for editing boolean values, including "Default" button and background coloring. | 2014-06-29 |
Support default values in e2p editor for UIntValue, IntValue, EnumValue and ByteArray. Show entries in yellow if they differ from the default. Show a button "Default" to reset the value to the default. | 2014-06-29 |
Rename attribute "Default" to "DefaultVal" to make it similar to MinVal and MaxVal. | 2014-06-29 |
Set default values for e2p configs where needed. | 2014-06-28 |
Add possibility to define default values for UIntValue, IntValue, BoolValue, EnumValue and ByteArray values in data type definitions. This can be used in the e2p editor to have useful defaults. | 2014-06-28 |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
Add Up/Down to OnChange DI pin watching When watching pins, f.ex. a motion detector, it may be useful to only send rising or falling edges. | 2014-06-24 |
rename e2p values | 2014-06-15 |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Fix that EnumValues with more than 8 bits size are read out of E2P correctly. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
Include needed header file. | 2014-06-10 |
Detect OS (Windows or Linux) and use other command line for flashing. | 2014-05-25 |
Add message group "GPIO" and a message to send the status of digital pins. | 2014-05-11 |
Add support for digital input pins in the e2p config of the envsensor. | 2014-05-11 |
20140610 master_v0.6.1-0-g19b1771 | Download |
TAG: HotFix: Copy request buffer indices correctly in request queue. This bug could lead to sending messages endlessly (only) in the case when there were more than 2 requests in a queue for one receiver and the requests were additionally not acknowledged. | 2024-04-25 |
20140515 master_v0.6.0-0-gf49d8af | Download |
TAG: Support for I2C. Support for temp sensor DS7505. Support for barometric pressure sensor BMP085. FHEM support. Support for array structures in e2p definitions and packets (used in base station and power switch e2p layout). Renamed "tempsensor" to "envsensor", which also requires an ATMega328. e2p editor remembers flash command line. | 2024-04-25 |
Correct e2p layout description. | 2014-05-03 |
correct reserved area in e2p | 2014-04-26 |
Split up messages into new message groups "weather" and "environment". | 2014-04-26 |
Add HumiditySensorType and DistanceSensorType to e2p layout of envsensor. | 2014-04-26 |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
SRF02: Add config options for SRF02 | 2014-03-31 |
Add configuration options for BMP085 | 2014-03-25 |
Use correct editor dialog for ByteArrays in e2p editor. | 2014-03-23 |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Move string generation function for Byte/Bit positions to Util. Support Arrays in packets. | 2014-03-23 |
Add SwitchStateExt message (for testing Array functionality in packets primarily). | 2014-03-23 |
Simplify generation of access strings for e2p byte and bit offset. Correct offset for Enums. | 2014-03-23 |
Correct calculation of byte and bit position in generated e2p header files. | 2014-03-23 |
Print a warning if a BoolValue in e2p is not at a byte boundary. | 2014-03-23 |
Remove the possibility to have arrays of "Reserved" bits, which make no sense. | 2014-03-23 |
Add "Array" as possible data type for e2p layouts. An Array can store a series of one of the other primitive data types. Add an editor for BoolValues to the e2p editor. | 2014-03-22 |
Move definition of data types to a separate XSD file, because they are used both in the e2p and the packet metamodel. | 2014-03-16 |
add cfg file to gitignore | 2014-03-16 |
Implement new flash dialog which remembers the used command line using a file. | 2014-03-15 |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
20140309 master_v0.5.0-0-g6adbdc0 | Download |
TAG: Use ATMega328 for TempSensor. Everything else is identical to v0.4.0. | 2024-04-25 |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
20140302 master_v0.4.0-0-gb07c72b | Download |
TAG: The generated e2p access functions are improved to allow simpler use. Signed ints are now supported as e2p values. All firmwares built by the build robot now contain a version number compiled into the firmware. The version is sent by each device about once a day. | 2024-04-25 |
20140302 master_v0.4.0-0-gb07c72b | Download |
TAG: The generated e2p access functions are improved to allow simpler use. Signed ints are now supported as e2p values. All firmwares built by the build robot now contain a version number compiled into the firmware. The version is sent by each device about once a day. | 2024-04-25 |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
Read version from pom.properties file at start up and and show it in the about box. The version is set by the build robot, so official builds now contain the version information. | 2014-02-10 |
revert JComboBox constructor to old version which is Java 1.6 compatible | 2014-02-10 |
Support (signed) int value in e2p layout, e2p editor and generator. | 2014-02-09 |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
minor code cleanup | 2014-02-09 |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
Immediately check default data for validity to avoid wrong error message when saving data to file. | 2014-02-08 |
Generate one e2p header file for each block. Avoid repeating the "Hardware" and "Generic" blocks in every device specific header file. | 2014-01-26 |
make function public (for E2P generator) | 2014-01-26 |
Add annotation in xsd. | 2014-01-26 |
Rename E2P config blocks by removing the "Config" suffix to make them consistent with the header files. | 2014-01-26 |
create e2p header files in src_common folder | 2014-01-26 |
Add thermostat e2p config block. Change device names to the spelling as used in packet definitions. | 2014-01-26 |
20140201 master_v0.3.0-0-gac61e5c | Download |
TAG: Update of the packet format as described on the homepage. Functions to access the packet data fields easily in the firmware are generated from the packet_layout.xml definition. The code generator is included in the E2P editor. Six message types are defined to support all needed communication sequences. The new packet format also supports more devices (4096 instead of 256). Firmware includes support of the new functions/packet format in all four devices. | 2024-04-25 |
set default values in ByteArrayTextArea and UIntTextArea in constructor so there is already valid data in them when GUI is presented to the user | 2014-01-18 |
remove unused imports | 2014-01-18 |
improve description of e2p field | 2014-01-18 |
correct calculation of packets when they don't have message data | 2014-01-06 |
add dimmer message definitions | 2014-01-06 |
use ATMega328 for power switch to allow more features and debugging output | 2014-01-06 |
set __MESSAGETYPE variable correctly | 2014-01-04 |
fix generation of MessageID enum | 2014-01-01 |
Add common set functions for header extensions. Add ENUMs for MessageGroupID and MessageID. | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
update source code generator for data packets / messages to reflect newest XML layout, rename class | 2013-12-31 |
rename file | 2013-12-25 |
add header extension concept to support different packet types | 2013-12-25 |
add packet metamodel file | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
20131117 master_v0.2.0-0-g00adbec | Download |
TAG: v0.2.0 supports the new EEPROM layout as also used in the EEPROM editor. These are other main changes: - fix problem with E2P editor and Java7 - fix several E2P editor error messages and improve handling - use fixed JAR filename for E2P editor - set BODLEVEL for all devices (under voltage detection) - add E2P and array acces functions for read/write of specific parts inside bigger blocks - add "unit test" file to test access functions, can be extended later for other tests | 2024-04-25 |
make sure a new e2p file is 1024 bytes in size so it can be read without problems even devicetype is not set yet | 2013-11-09 |
set fixed filename for JAR file | 2013-11-09 |
fix issue #20 (E2P Editor crashes with null pointer exception when using Java 7) | 2013-11-06 |
react on changed DeviceType in the EnumEditor with updating the other editor components on the right side | 2013-11-06 |
add e2p support for dimmer | 2013-11-03 |
support new e2p layout in powerswitch | 2013-10-27 |
correct detection of MC type to flash, change default flash command | 2013-10-26 |
remove unused file | 2013-10-13 |
Handle the case correctly when E2P file is too short (corrupt). | 2013-10-12 |
Add Base Station E2P config block to layout. | 2013-10-12 |
Add a e2p config block to e2p layout. Use temperature and brightness sensor settings for configuration of connected sensor type. Implement using the new values to avoid that the firmware hangs (waits forever) when no SHT15 is connected. | 2013-10-05 |
20131004 master_v0.1.1-0-ga263f2f | Download |
TAG: Updated and working version with corrected fuse settings, but old EEPROM and package format. | 2024-04-25 |
use .org domain | 2013-09-22 |
20130925 master_v0.1-0-g0697553 | Download |
TAG: stable version with initial eeprom and message format | 2024-04-25 |
shc_basestation (develop)
20230419 develop_v0.10.1-220-g10c291c | Download |
---|---|
Bugfix: Clear byte after the last byte of the packet, because otherwise it can be decoded incorrectly when the last data is over the byte boundary. | 2023-04-18 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
20230417 develop_v0.10.1-217-gd4fdd46 | Download |
Align UART output format. | 2023-04-16 |
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
20230415 develop_v0.10.1-207-gc2b24f8 | Download |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
20230414 develop_v0.10.1-205-g3499999 | Download |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Also list ReceivderID in case of a received Deliver message. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
20230306 develop_v0.10.1-172-gd2c1951 | Download |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Initialize variables to avoid compiler warning, even they are definitly not used uninitialized according the if-statements. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Clean UART output earlier to clean up the send buffer. Otherwise it overflows when using large (64 byte) packets. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
20230204 develop_v0.10.1-158-g4420133 | Download |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
Extend message buffer in base station to cover 64 byte messages. | 2023-01-31 |
20230130 develop_v0.10.1-148-g6117b55 | Download |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Remove trailing spaces. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
20221125 develop_v0.10.1-136-g01b4871 | Download |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20211109 develop_v0.10.1-111-gfd16790 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
20191117 develop_v0.10.1-110-g23b294b | Download |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
20190808 develop_v0.10.1-77-gf75f338 | Download |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
20180318 develop_v0.10.1-72-g66baf5e | Download |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20151030 develop_v0.10.1-34-g0578486 | Download |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
20150607 develop_v0.10.1-7-g98d388f | Download |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
20150518 develop_v0.10.1-1-g6c76ffe | Download |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
20150309 develop_v0.9.0-rc.5-44-gf0d2408 | Download |
Truncate trailing 0-bytes when printing received MessageData to make string shorter (therefore speeding up reception). | 2015-03-08 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Show packet before encoding (slower, but necessary, because encoded bytes can't be displayed correctly anymore). | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
20150307 develop_v0.9.0-rc.5-30-gae9c9a6 | Download |
Add CRC32 at the end of the packet data string. Abbreviate field names in the received packet that is printed on the serial line. This reduces the delay for transferring data from/to the server (e.g. FHEM). But is also needs a change in the FHEM module. | 2015-03-07 |
Change spelling to upper case. | 2015-03-07 |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Move LED blink functions. Speed up sending from queue to 0.25s. Remove debug code. | 2015-03-07 |
Don't show request queue when adding packet to it. (Speed up from ~0.4s to 0.3s). | 2015-03-07 |
Speed up sending packet from queue (from ~1s to ~0,4s) by checking queue immediately after storing packet in it. | 2015-03-07 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Updated header files with corrected wake-up values. | 2015-01-11 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
20141117 develop_v0.7.0-rc.1-117-gaafd1c8 | Download |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
20141007 develop_v0.7.0-rc.1-101-g8e8903c | Download |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
20141005 develop_v0.7.0-rc.1-100-ga92a9e7 | Download |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
20141004 develop_v0.7.0-rc.1-89-g3a7160e | Download |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
Add generated e2p layout header. | 2014-09-16 |
20140901 develop_v0.7.0-rc.1-50-g83885cf | Download |
Correct offset for sending AckStatus packet. Change variable names for better readability. | 2014-08-31 |
20140818 develop_v0.7.0-rc.1-46-ga3154f5 | Download |
Implement color animation (not working completely yet). React on ColorAnimation message. Send cyclic status. | 2014-08-17 |
Fix copying right amount of data from request buffer. (Packets > 16 bytes were not sent correctly.) | 2014-08-17 |
Fix truncation of MessageData and calculate packet length correctly. | 2014-08-17 |
20140805 develop_v0.7.0-rc.1-35-gdf6c23b | Download |
Automatically truncate messages before sending with base station if the rest contains only 0-bytes. | 2014-08-04 |
Avoid request queue for broadcast requests (DeviceID == 4095). | 2014-08-04 |
20140727 develop_v0.7.0-rc.1-27-gafc0018 | Download |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Fix unit test to run without avr lib. | 2014-07-21 |
Add color animation message, using the new "structured array". | 2014-07-21 |
Support color message. | 2014-07-20 |
Remove unused file. | 2014-07-20 |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Support brightness factor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
Commented out resetting the wake-up timer when sending data with the RFM12 module. Waking up in fixed intervals is what's expected in the EnvSensor. | 2014-06-27 |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
typo corrected | 2014-06-24 |
Add Up/Down to OnChange DI pin watching | 2014-06-24 |
rename e2p values | 2014-06-15 |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Support configurable wake-up time. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
Remove / move include statements. | 2014-06-10 |
Use enum type instead of integer type in function signature. | 2014-06-10 |
Include needed header file. | 2014-06-10 |
cosmetic | 2014-06-10 |
20140607 develop_v0.5.0-169-g13f9f37 | Download |
Fix: Copy request buffer indices correctly in request queue. This bug could lead to sending messages endlessly when they were not acknowledged. | 2014-06-06 |
Fix: Only count down the first request per queue. (Before, every timeout was counted down.) | 2014-06-06 |
Remove unnecessary block brackets. | 2014-05-31 |
Add header file for GPIO message group. | 2014-05-11 |
Add support for digital pins in the envsensor. | 2014-05-11 |
Add SRF02 (ultrasonic range sensor) support, incl. voltage converter switching at PD5. | 2014-05-06 |
adapt base station to new message group "weather" | 2014-04-27 |
20140428 develop_v0.5.0-92-g0fc1b75 | Download |
adapt base station to new message group "weather" | 2014-04-27 |
Add separate functions for measuring values and for preparing a message to send. Send one message whenever an average threshold is reached. Use new message groups "weather" and "environment". Support barometric pressure message. | 2014-04-26 |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
SRF02: Add config options for SRF02 | 2014-03-31 |
Add configuration options for BMP085 | 2014-03-25 |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Update generated header files. | 2014-03-23 |
Use new e2p layout in powerswitch firmware. | 2014-03-23 |
20140316 develop_v0.4.0-rc.1-13-gfe83608 | Download |
add flash script for linux | 2014-03-15 |
20140311 develop_v0.4.0-rc.1-11-gd863310 | Download |
correct calculation of negative values in e2p/array access function | 2014-03-11 |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
20140309 develop_v0.4.0-rc.1-5-geb18bba | Download |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
20140309 develop_v0.4.0-rc.1-3-gd84432d | Download |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
20140224 develop_v0.3.0-rc.1-46-g2feca00 | Download |
update comments | 2014-02-23 |
Rename rfm12_sendbuf function to rfm12_send_bufx, which better represents a function name and also tells that bufx is the buffer used in the function. | 2014-02-23 |
Remove sendbuf and use cmdbuf from main loop directly, thus removing one unnecessary buffer. | 2014-02-23 |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
20140217 develop_v0.3.0-rc.1-41-ga4931ca | Download |
Use avr-gcc names for integer variables and functions instead of C naming. | 2014-02-16 |
Make functions static to save a little flash size. | 2014-02-16 |
20140216 develop_v0.3.0-rc.1-39-gdb2e3fd | Download |
Add cleanbuild target to makefile. Change memory info format to the AVR specific one. | 2014-02-16 |
Split up of util lib into util_hw.c|h and util_generic.c|h. | 2014-02-16 |
Move hex_to_uint... functions from uart to util lib. | 2014-02-16 |
Move print_signed and print_bytearray to uart module. | 2014-02-16 |
20140215 develop_v0.3.0-rc.1-35-g7f1d2da | Download |
Use (signed) int value in firmware for OSCCAL value. | 2014-02-14 |
20140212 develop_v0.3.0-rc.1-33-g9c70cc8 | Download |
add missing UInt e2p access function | 2014-02-12 |
20140210 develop_v0.3.0-rc.1-30-gcb53db0 | Download |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
move include statement | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
20140209 develop_v0.3.0-rc.1-24-gc67c8c9 | Download |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
add define for header file | 2014-02-08 |
fix cbc decryption | 2014-02-08 |
avoid clash with definitions in inttypes.h by using it in aes256.h instead of using own declaration | 2014-02-08 |
correct battery percentage calculation in tempsensor depending on used sensor | 2014-02-02 |
Use separate e2p header files in every device and in util module instead of the old header files. Add initial compilable source code for thermostat device. | 2014-01-26 |
beautify if statement in makefile | 2014-01-18 |
Merge branch 'GoHoHa-master' into develop | 2014-01-18 |
Merge branch 'master' of https://github.com/GoHoHa/smarthomatic into GoHoHa-master | 2014-01-18 |
added skeleton for thermostat HR25 | 2013-11-06 |
Typo change "RFM12" | 2013-11-04 |
20140118 develop_v0.2.0-77-gc639872 | Download |
correct use of special value that marks unused request_queue slots (necessary because DeviceIDs >= 255 are possible) | 2014-01-18 |
20140118 develop_v0.2.0-76-gafdf34d | Download |
move function inc_packetcounter to util file and use it everywhere | 2014-01-18 |
20140118 develop_v0.2.0-70-g96f8915 | Download |
remember data size in request buffer and use it when sending retries | 2014-01-17 |
20140117 develop_v0.2.0-65-g64fe766 | Download |
improve function description | 2014-01-16 |
move common function rfm12_sendbuf to util | 2014-01-16 |
rename function printSigned to print_signed | 2014-01-16 |
move function print_bytearray to util module | 2014-01-16 |
use util_init function | 2014-01-16 |
use bool parameter instead of int | 2014-01-16 |
rename function | 2014-01-16 |
Reorder functions. Rename internal functions. | 2014-01-16 |
add powerswitch in flash script | 2014-01-16 |
20140107 develop_v0.2.0-53-gc2dc11e | Download |
correct calculation of packets when they don't have message data | 2014-01-06 |
correct handling of 32 bytes packets in request queue | 2014-01-06 |
support new packet format in dimmer | 2014-01-06 |
change LED blink pattern at startup | 2014-01-06 |
20140106 develop_v0.2.0-43-g1dda5f2 | Download |
correct limiting of signed integer values after reading from byte array | 2014-01-05 |
correct calculation of humidity value | 2014-01-05 |
beautify debug output | 2014-01-05 |
support request queue for sending requests with new packet format | 2014-01-05 |
20140105 develop_v0.2.0-39-gbd2cda2 | Download |
support new packet format in basestation (without request queue) | 2014-01-04 |
20140102 develop_v0.2.0-35-g0d87767 | Download |
updated header files | 2014-01-01 |
make base station process new packet format | 2014-01-01 |
Bugfix for eeprom/array read function. Unused upper bits were not cleared, resulting in wrong return values sometimes. | 2014-01-01 |
initial implementation for support of new packet format in powerswitch | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
Set UART_DEBUG and UART_RX defines in makefile instead of main source code file. Remove ifdefs for UART debugging and let the compiler remove unused calls when defines are not set to simplify source code. | 2013-12-31 |
use new generated functions in tempsensor device | 2013-12-31 |
simplify int access function | 2013-12-31 |
add generated header files | 2013-12-31 |
20131206 develop_v0.2.0-21-gb85f684 | Download |
read CRC from position 0 | 2013-12-05 |
use new packet format in temp sensor | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
20131127 develop_v0.2.0-17-g903d137 | Download |
Merge pull request #36 from Inhumierer/develop Update util.c | 2013-11-26 |
Update util.c Fixed typo in PrintSigned | 2013-11-23 |
set correct MCU for flashing fuses | 2013-11-16 |
20131113 develop_v0.2.0-rc.3-8-ge04ad3a | Download |
Merge branch 'release-v0.2.0' into develop | 2013-11-12 |
fix severe bug that the old EEPROM position was used to write the packetcounter | 2013-11-12 |
Merge branch 'develop' of https://github.com/Inhumierer/smarthomatic into develop | 2013-11-12 |
Update shc_basestation.c | 2013-11-12 |
Update util.c | 2013-11-12 |
Update util.h | 2013-11-12 |
20131104 develop_v0.1.1-37-g0d81754 | Download |
re-adding value in comment | 2013-11-03 |
Merge branch 'bod' of https://github.com/Inhumierer/smarthomatic into Inhumierer-bod | 2013-11-03 |
add more e2p default files (according new layout) | 2013-11-03 |
BOD level fuses at basestation and tempsensor | 2013-11-03 |
cleanup: remove unnecessary cast | 2013-10-27 |
20131027 develop_v0.1.1-21-gfed23ae | Download |
read OSCCAL mode using new E2P access function | 2013-10-26 |
correct serial output string | 2013-10-26 |
add e2p compatibility check, read e2p values for deviceID, packetCounter, AES key position according E2P layout | 2013-10-26 |
add access to arrays to former eeprom access functions | 2013-10-26 |
make function signature C conform | 2013-10-14 |
20131014 develop_v0.1.1-13-g732fff0 | Download |
add e2p access functions (not used in firmware currently) with working unit test | 2013-10-13 |
add error function that lets the LED blink forever | 2013-10-13 |
Use device specific E2P layout in base station. | 2013-10-12 |
Remove ifdefs in temp sensor code. Use E2P values instead. Use E2P values in util.h and include device specific e2p definition there. | 2013-10-12 |
20131004 develop_v0.1.1-0-ga263f2f | Download |
TAG: Updated and working version with corrected fuse settings, but old EEPROM and package format. | 2024-04-25 |
Autodetect microcontroller type in flash script. | 2013-10-04 |
Add flash batch files for Windows and move readme to common "extra" directory. | 2013-10-04 |
Correct makefile command to write fuse bytes into binary files. It was working on Windows, but not Linux. | 2013-10-04 |
20131003 develop_v0.1-15-g762dd6a | Download |
Merge branch 'master' of https://github.com/Inhumierer/smarthomatic into develop | 2013-10-03 |
Using avrdude raw option for writing e2p file is the better choice than autodetection. | 2013-10-03 |
Add info about how to flash your ATMega in README. | 2013-10-03 |
Add default e2p file for basestation. | 2013-10-03 |
Create binary files for fuses, because these are supported by avrdude (and text files with hex strings are not). | 2013-10-03 |
Remove avrdude options from makefile. User should create a avrdude.rc / ~/.avrduderc with options. | 2013-10-03 |
Update uart.h typo corrected | 2013-10-03 |
20131002 develop_v0.1-6-g042f6b6 | Download |
Add readme for building binary packages. | 2013-10-01 |
20130926 develop_v0.1-4-gbc0a281 | Download |
add fuses.c files to editor project file | 2013-09-25 |
Corrected fuse settings for base station. | 2013-09-25 |
20130925 develop_v0.1-1-gf02bdd5 | Download |
use .org domain | 2013-09-22 |
20130925 develop_v0.1-0-g0697553 | Download |
TAG: stable version with initial eeprom and message format | 2024-04-25 |
Add header files for e2p positions (generated by e2p editor). Files are unused a.t.m. | 2013-09-21 |
shc_basestation (release)
20230729 release_v0.13.0-rc.1-0-gb18cbf0 | Download |
---|---|
Correct animation timer speed for Controller device (since it's running on 20 MHz and not 8 Mhz CPU clock). | 2023-05-28 |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in makefile. | 2023-05-11 |
Support display_backlight function in controller device. | 2023-05-09 |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
Extend max. virtual pages to 4. | 2023-04-20 |
Bugfix: Clear byte after the last byte of the packet, because otherwise it can be decoded incorrectly when the last data is over the byte boundary. | 2023-04-18 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
Align UART output format. | 2023-04-16 |
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Also list ReceivderID in case of a received Deliver message. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Initialize variables to avoid compiler warning, even they are definitly not used uninitialized according the if-statements. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Clean UART output earlier to clean up the send buffer. Otherwise it overflows when using large (64 byte) packets. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
Extend message buffer in base station to cover 64 byte messages. | 2023-01-31 |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Remove trailing spaces. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20220906 release_v0.12.0-rc.1-0-ga8c1fc0 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20151212 release_v0.11.0-rc.1-0-g3042e25 | Download |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
20150502 release_v0.10.0-rc.1-0-g39b1b02 | Download |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Truncate trailing 0-bytes when printing received MessageData to make string shorter (therefore speeding up reception). | 2015-03-08 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Show packet before encoding (slower, but necessary, because encoded bytes can't be displayed correctly anymore). | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
Add CRC32 at the end of the packet data string. Abbreviate field names in the received packet that is printed on the serial line. This reduces the delay for transferring data from/to the server (e.g. FHEM). But is also needs a change in the FHEM module. | 2015-03-07 |
Change spelling to upper case. | 2015-03-07 |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Move LED blink functions. Speed up sending from queue to 0.25s. Remove debug code. | 2015-03-07 |
Don't show request queue when adding packet to it. (Speed up from ~0.4s to 0.3s). | 2015-03-07 |
Speed up sending packet from queue (from ~1s to ~0,4s) by checking queue immediately after storing packet in it. | 2015-03-07 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150208 release_v0.9.0-rc.1-0-ga724183 | Download |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Updated header files with corrected wake-up values. | 2015-01-11 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
20140916 release_v0.8.0-rc.1-0-gfe3f648 | Download |
Add generated e2p layout header. | 2014-09-16 |
Correct offset for sending AckStatus packet. Change variable names for better readability. | 2014-08-31 |
Implement color animation (not working completely yet). React on ColorAnimation message. Send cyclic status. | 2014-08-17 |
Fix copying right amount of data from request buffer. (Packets > 16 bytes were not sent correctly.) | 2014-08-17 |
Fix truncation of MessageData and calculate packet length correctly. | 2014-08-17 |
Automatically truncate messages before sending with base station if the rest contains only 0-bytes. | 2014-08-04 |
Avoid request queue for broadcast requests (DeviceID == 4095). | 2014-08-04 |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Fix unit test to run without avr lib. | 2014-07-21 |
Add color animation message, using the new "structured array". | 2014-07-21 |
Support color message. | 2014-07-20 |
Remove unused file. | 2014-07-20 |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Support brightness factor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
20140710 release_v0.7.0-rc.1-0-g309c9d6 | Download |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
Commented out resetting the wake-up timer when sending data with the RFM12 module. Waking up in fixed intervals is what's expected in the EnvSensor. | 2014-06-27 |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
typo corrected | 2014-06-24 |
Add Up/Down to OnChange DI pin watching | 2014-06-24 |
rename e2p values | 2014-06-15 |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Support configurable wake-up time. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
Remove / move include statements. | 2014-06-10 |
Use enum type instead of integer type in function signature. | 2014-06-10 |
Include needed header file. | 2014-06-10 |
cosmetic | 2014-06-10 |
Fix: Copy request buffer indices correctly in request queue. This bug could lead to sending messages endlessly when they were not acknowledged. | 2014-06-06 |
Fix: Only count down the first request per queue. (Before, every timeout was counted down.) | 2014-06-06 |
Remove unnecessary block brackets. | 2014-05-31 |
Add header file for GPIO message group. | 2014-05-11 |
Add support for digital pins in the envsensor. | 2014-05-11 |
Add SRF02 (ultrasonic range sensor) support, incl. voltage converter switching at PD5. | 2014-05-06 |
20140506 release_v0.6.0-rc.1-0-g8900514 | Download |
adapt base station to new message group "weather" | 2014-04-27 |
Add separate functions for measuring values and for preparing a message to send. Send one message whenever an average threshold is reached. Use new message groups "weather" and "environment". Support barometric pressure message. | 2014-04-26 |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
SRF02: Add config options for SRF02 | 2014-03-31 |
Add configuration options for BMP085 | 2014-03-25 |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Update generated header files. | 2014-03-23 |
Use new e2p layout in powerswitch firmware. | 2014-03-23 |
add flash script for linux | 2014-03-15 |
correct calculation of negative values in e2p/array access function | 2014-03-11 |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
20140224 release_v0.4.0-rc.1-0-g2feca00 | Download |
update comments | 2014-02-23 |
Rename rfm12_sendbuf function to rfm12_send_bufx, which better represents a function name and also tells that bufx is the buffer used in the function. | 2014-02-23 |
Remove sendbuf and use cmdbuf from main loop directly, thus removing one unnecessary buffer. | 2014-02-23 |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
Use avr-gcc names for integer variables and functions instead of C naming. | 2014-02-16 |
Make functions static to save a little flash size. | 2014-02-16 |
Add cleanbuild target to makefile. Change memory info format to the AVR specific one. | 2014-02-16 |
Split up of util lib into util_hw.c|h and util_generic.c|h. | 2014-02-16 |
Move hex_to_uint... functions from uart to util lib. | 2014-02-16 |
Move print_signed and print_bytearray to uart module. | 2014-02-16 |
Use (signed) int value in firmware for OSCCAL value. | 2014-02-14 |
add missing UInt e2p access function | 2014-02-12 |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
move include statement | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
add define for header file | 2014-02-08 |
fix cbc decryption | 2014-02-08 |
avoid clash with definitions in inttypes.h by using it in aes256.h instead of using own declaration | 2014-02-08 |
correct battery percentage calculation in tempsensor depending on used sensor | 2014-02-02 |
Use separate e2p header files in every device and in util module instead of the old header files. Add initial compilable source code for thermostat device. | 2014-01-26 |
beautify if statement in makefile | 2014-01-18 |
Merge branch 'GoHoHa-master' into develop | 2014-01-18 |
Merge branch 'master' of https://github.com/GoHoHa/smarthomatic into GoHoHa-master | 2014-01-18 |
added skeleton for thermostat HR25 | 2013-11-06 |
Typo change "RFM12" | 2013-11-04 |
20140118 release_v0.3.0-rc.1-0-gc639872 | Download |
correct use of special value that marks unused request_queue slots (necessary because DeviceIDs >= 255 are possible) | 2014-01-18 |
move function inc_packetcounter to util file and use it everywhere | 2014-01-18 |
remember data size in request buffer and use it when sending retries | 2014-01-17 |
improve function description | 2014-01-16 |
move common function rfm12_sendbuf to util | 2014-01-16 |
rename function printSigned to print_signed | 2014-01-16 |
move function print_bytearray to util module | 2014-01-16 |
use util_init function | 2014-01-16 |
use bool parameter instead of int | 2014-01-16 |
rename function | 2014-01-16 |
Reorder functions. Rename internal functions. | 2014-01-16 |
add powerswitch in flash script | 2014-01-16 |
correct calculation of packets when they don't have message data | 2014-01-06 |
correct handling of 32 bytes packets in request queue | 2014-01-06 |
support new packet format in dimmer | 2014-01-06 |
change LED blink pattern at startup | 2014-01-06 |
correct limiting of signed integer values after reading from byte array | 2014-01-05 |
correct calculation of humidity value | 2014-01-05 |
beautify debug output | 2014-01-05 |
support request queue for sending requests with new packet format | 2014-01-05 |
support new packet format in basestation (without request queue) | 2014-01-04 |
updated header files | 2014-01-01 |
make base station process new packet format | 2014-01-01 |
Bugfix for eeprom/array read function. Unused upper bits were not cleared, resulting in wrong return values sometimes. | 2014-01-01 |
initial implementation for support of new packet format in powerswitch | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
Set UART_DEBUG and UART_RX defines in makefile instead of main source code file. Remove ifdefs for UART debugging and let the compiler remove unused calls when defines are not set to simplify source code. | 2013-12-31 |
use new generated functions in tempsensor device | 2013-12-31 |
simplify int access function | 2013-12-31 |
add generated header files | 2013-12-31 |
read CRC from position 0 | 2013-12-05 |
use new packet format in temp sensor | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
Merge pull request #36 from Inhumierer/develop Update util.c | 2013-11-26 |
Update util.c Fixed typo in PrintSigned | 2013-11-23 |
set correct MCU for flashing fuses | 2013-11-16 |
Merge branch 'release-v0.2.0' into develop | 2013-11-12 |
Merge branch 'develop' of https://github.com/Inhumierer/smarthomatic into develop | 2013-11-12 |
Update shc_basestation.c | 2013-11-12 |
Update util.c | 2013-11-12 |
Update util.h | 2013-11-12 |
20131113 release_v0.2.0-rc.3-0-gb499f61 | Download |
fix severe bug that the old EEPROM position was used to write the packetcounter | 2013-11-12 |
20131106 release_v0.2.0-rc.1-0-g93d6114 | Download |
shc_basestation (master)
20230730 master_v0.13.0-0-g278c0ec | Download |
---|---|
TAG: *General:* Support "deliver" message to ensure that the base station received a message sent by a device (used by controller device). Support 64 byte packets. Support ATMega1284 and 4kB e2p. Improve collision detection timing. *Controller:* New device which acts as user interface. Supports LCD text display, RGB LED, speaker and buttons to navigate through a menu with options defined in e2p. Can be used as control interface for smart home functions. *Powerswitch:* Support for On/Off delay that is used when a status change is triggered by the optional switch. Put relais state into status message. Fix version status cycle. *RGB Dimmer:* HW break! Pins for RGB LEDs changed to have common source code with controller device. Support "tone" and "melody" message to play (warning) melodies / alerts. *FHEM:* Update modules to be used with new controller device. Use default baud rate of 115200. Avoid "require" keyword and "given/when". | 2024-04-25 |
Correct animation timer speed for Controller device (since it's running on 20 MHz and not 8 Mhz CPU clock). | 2023-05-28 |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in makefile. | 2023-05-11 |
Support display_backlight function in controller device. | 2023-05-09 |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
Extend max. virtual pages to 4. | 2023-04-20 |
Bugfix: Clear byte after the last byte of the packet, because otherwise it can be decoded incorrectly when the last data is over the byte boundary. | 2023-04-18 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
Align UART output format. | 2023-04-16 |
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Also list ReceivderID in case of a received Deliver message. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Initialize variables to avoid compiler warning, even they are definitly not used uninitialized according the if-statements. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Clean UART output earlier to clean up the send buffer. Otherwise it overflows when using large (64 byte) packets. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
Extend message buffer in base station to cover 64 byte messages. | 2023-01-31 |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Remove trailing spaces. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20220906 master_v0.12.0-0-gec025f0 | Download |
TAG: EnvSensor: Support ParticulateMatter sensor. Support FloatValue type in e2p. Add tea maker project (currently not being worked on). Add shutter control HW. Generic maxi speed 1.2 introduces transistor to switch RFM module on/off. Support transceiver timeout to restart RFM12 if needed. Allow to edit strings as array in e2p editor. | 2024-04-25 |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20160103 master_v0.11.0-0-gfa208fc | Download |
TAG: Increase stability of devices which send and receive and have sporadic hangs of RFM module: Added configurable (optional) watchdog to reset ATMega and RFM12B when nothing is received some time. Add HardwareError message to FHEM parser to log the error cases. Update Soil Moisture Meter PCB (V1.2) with 6-pin ISP connector including VCC pin. Update Dimmer PCB (V1.3), Power Switch PCB (V1.1), Generic Maxi Speed PCB (V1.1) by added VCC pin on ISP connector and/or connection of RFM power pin to an I/O pin for shutting it off in case of a hang. Added new Generic Micro 2 SMD PCB (V1.0) which is compatible to a Generic Midi and can be used as a smaller EnvSensor device. | 2024-04-25 |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
20150517 master_v0.10.1-0-g9d85b61 | Download |
TAG: Hotfix for buggy CRC check with GCC 4.7.2 on linux (which my build robot uses under linux). | 2024-04-25 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
20150516 master_v0.10.0-0-g6ecdef6 | Download |
TAG: Speed up of communication to/from base station by supporting 115200 baud on UART and shortening strings. Reaction on a command over UART until encrypted packet is sent is now under 20ms! Add CRC32 at the end of the packet data string to secure sommunication from base station to PC (fhem). Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. Add SmoothingPercentage parameter to SoilMoistureMeter to smooth reported humidity values. | 2024-04-25 |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Truncate trailing 0-bytes when printing received MessageData to make string shorter (therefore speeding up reception). | 2015-03-08 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Show packet before encoding (slower, but necessary, because encoded bytes can't be displayed correctly anymore). | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
Add CRC32 at the end of the packet data string. Abbreviate field names in the received packet that is printed on the serial line. This reduces the delay for transferring data from/to the server (e.g. FHEM). But is also needs a change in the FHEM module. | 2015-03-07 |
Change spelling to upper case. | 2015-03-07 |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Move LED blink functions. Speed up sending from queue to 0.25s. Remove debug code. | 2015-03-07 |
Don't show request queue when adding packet to it. (Speed up from ~0.4s to 0.3s). | 2015-03-07 |
Speed up sending packet from queue (from ~1s to ~0,4s) by checking queue immediately after storing packet in it. | 2015-03-07 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150301 master_v0.9.0-0-gec1ee4e | Download |
TAG: Add new device soil moisture meter (schematics, layout and firmware). Speed up encryption/decryption drastically by using other AES lib. Support additional sensors in EnvSensor: HTU21d (I2C, humidity + temperature), DS18S20/DS18B20 (1-wire, temperature). Reduce power consumption to ~1.8µA at EnvSensor by switching off BOD in sleep mode. Support DeviceInfo message (containing DeviceType + firmware version) at all devices. Send Error Ack for messages which are not supported at all devices. Several minor fixes. | 2024-04-25 |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Updated header files with corrected wake-up values. | 2015-01-11 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
20140921 master_v0.8.0-0-gc0ed0c3 | Download |
TAG: Implement RGB dimmer firmware. Support Color and ColorAnimation message for an animation (fading) of several colors, using repeat and autoreverse parameters for different visual effects. BaseStation: Automatically truncate empty bytes in messages before sending. Fix sending packets > 16 bytes. Avoid request queue for broadcast requests. | 2024-04-25 |
Add generated e2p layout header. | 2014-09-16 |
Correct offset for sending AckStatus packet. Change variable names for better readability. | 2014-08-31 |
Implement color animation (not working completely yet). React on ColorAnimation message. Send cyclic status. | 2014-08-17 |
Fix copying right amount of data from request buffer. (Packets > 16 bytes were not sent correctly.) | 2014-08-17 |
Fix truncation of MessageData and calculate packet length correctly. | 2014-08-17 |
Automatically truncate messages before sending with base station if the rest contains only 0-bytes. | 2014-08-04 |
Avoid request queue for broadcast requests (DeviceID == 4095). | 2014-08-04 |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Fix unit test to run without avr lib. | 2014-07-21 |
Add color animation message, using the new "structured array". | 2014-07-21 |
Support color message. | 2014-07-20 |
Remove unused file. | 2014-07-20 |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Support brightness factor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
20140728 master_v0.7.0-0-g0e996cc | Download |
TAG: EnvSensor: add digital + analog input support, configurable wake-up / measuring times. Add support for SRF02 ultrasonic distance sensor. E2PEditor: Handling of default values for config options, incl. coloring of modified values. | 2024-04-25 |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
Commented out resetting the wake-up timer when sending data with the RFM12 module. Waking up in fixed intervals is what's expected in the EnvSensor. | 2014-06-27 |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
typo corrected | 2014-06-24 |
Add Up/Down to OnChange DI pin watching | 2014-06-24 |
rename e2p values | 2014-06-15 |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Support configurable wake-up time. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
Remove / move include statements. | 2014-06-10 |
Use enum type instead of integer type in function signature. | 2014-06-10 |
Include needed header file. | 2014-06-10 |
cosmetic | 2014-06-10 |
Fix: Copy request buffer indices correctly in request queue. This bug could lead to sending messages endlessly when they were not acknowledged. | 2014-06-06 |
Fix: Only count down the first request per queue. (Before, every timeout was counted down.) | 2014-06-06 |
Remove unnecessary block brackets. | 2014-05-31 |
Add header file for GPIO message group. | 2014-05-11 |
Add support for digital pins in the envsensor. | 2014-05-11 |
Add SRF02 (ultrasonic range sensor) support, incl. voltage converter switching at PD5. | 2014-05-06 |
20140610 master_v0.6.1-0-g19b1771 | Download |
TAG: HotFix: Copy request buffer indices correctly in request queue. This bug could lead to sending messages endlessly (only) in the case when there were more than 2 requests in a queue for one receiver and the requests were additionally not acknowledged. | 2024-04-25 |
Fix: Copy request buffer indices correctly in request queue. This bug could lead to sending messages endlessly when they were not acknowledged. | 2014-06-06 |
Fix: Only count down the first request per queue. (Before, every timeout was counted down.) | 2014-06-06 |
Remove unnecessary block brackets. | 2014-05-31 |
20140515 master_v0.6.0-0-gf49d8af | Download |
TAG: Support for I2C. Support for temp sensor DS7505. Support for barometric pressure sensor BMP085. FHEM support. Support for array structures in e2p definitions and packets (used in base station and power switch e2p layout). Renamed "tempsensor" to "envsensor", which also requires an ATMega328. e2p editor remembers flash command line. | 2024-04-25 |
adapt base station to new message group "weather" | 2014-04-27 |
Add separate functions for measuring values and for preparing a message to send. Send one message whenever an average threshold is reached. Use new message groups "weather" and "environment". Support barometric pressure message. | 2014-04-26 |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
SRF02: Add config options for SRF02 | 2014-03-31 |
Add configuration options for BMP085 | 2014-03-25 |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Update generated header files. | 2014-03-23 |
Use new e2p layout in powerswitch firmware. | 2014-03-23 |
add flash script for linux | 2014-03-15 |
correct calculation of negative values in e2p/array access function | 2014-03-11 |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
20140309 master_v0.5.0-0-g6adbdc0 | Download |
TAG: Use ATMega328 for TempSensor. Everything else is identical to v0.4.0. | 2024-04-25 |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
20140302 master_v0.4.0-0-gb07c72b | Download |
TAG: The generated e2p access functions are improved to allow simpler use. Signed ints are now supported as e2p values. All firmwares built by the build robot now contain a version number compiled into the firmware. The version is sent by each device about once a day. | 2024-04-25 |
update comments | 2014-02-23 |
Rename rfm12_sendbuf function to rfm12_send_bufx, which better represents a function name and also tells that bufx is the buffer used in the function. | 2014-02-23 |
Remove sendbuf and use cmdbuf from main loop directly, thus removing one unnecessary buffer. | 2014-02-23 |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
Use avr-gcc names for integer variables and functions instead of C naming. | 2014-02-16 |
Make functions static to save a little flash size. | 2014-02-16 |
Add cleanbuild target to makefile. Change memory info format to the AVR specific one. | 2014-02-16 |
Split up of util lib into util_hw.c|h and util_generic.c|h. | 2014-02-16 |
Move hex_to_uint... functions from uart to util lib. | 2014-02-16 |
Move print_signed and print_bytearray to uart module. | 2014-02-16 |
Use (signed) int value in firmware for OSCCAL value. | 2014-02-14 |
add missing UInt e2p access function | 2014-02-12 |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
move include statement | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
add define for header file | 2014-02-08 |
fix cbc decryption | 2014-02-08 |
avoid clash with definitions in inttypes.h by using it in aes256.h instead of using own declaration | 2014-02-08 |
correct battery percentage calculation in tempsensor depending on used sensor | 2014-02-02 |
Use separate e2p header files in every device and in util module instead of the old header files. Add initial compilable source code for thermostat device. | 2014-01-26 |
beautify if statement in makefile | 2014-01-18 |
Merge branch 'GoHoHa-master' into develop | 2014-01-18 |
Merge branch 'master' of https://github.com/GoHoHa/smarthomatic into GoHoHa-master | 2014-01-18 |
added skeleton for thermostat HR25 | 2013-11-06 |
Typo change "RFM12" | 2013-11-04 |
20140201 master_v0.3.0-0-gac61e5c | Download |
TAG: Update of the packet format as described on the homepage. Functions to access the packet data fields easily in the firmware are generated from the packet_layout.xml definition. The code generator is included in the E2P editor. Six message types are defined to support all needed communication sequences. The new packet format also supports more devices (4096 instead of 256). Firmware includes support of the new functions/packet format in all four devices. | 2024-04-25 |
correct use of special value that marks unused request_queue slots (necessary because DeviceIDs >= 255 are possible) | 2014-01-18 |
move function inc_packetcounter to util file and use it everywhere | 2014-01-18 |
remember data size in request buffer and use it when sending retries | 2014-01-17 |
improve function description | 2014-01-16 |
move common function rfm12_sendbuf to util | 2014-01-16 |
rename function printSigned to print_signed | 2014-01-16 |
move function print_bytearray to util module | 2014-01-16 |
use util_init function | 2014-01-16 |
use bool parameter instead of int | 2014-01-16 |
rename function | 2014-01-16 |
Reorder functions. Rename internal functions. | 2014-01-16 |
add powerswitch in flash script | 2014-01-16 |
correct calculation of packets when they don't have message data | 2014-01-06 |
correct handling of 32 bytes packets in request queue | 2014-01-06 |
support new packet format in dimmer | 2014-01-06 |
change LED blink pattern at startup | 2014-01-06 |
correct limiting of signed integer values after reading from byte array | 2014-01-05 |
correct calculation of humidity value | 2014-01-05 |
beautify debug output | 2014-01-05 |
support request queue for sending requests with new packet format | 2014-01-05 |
support new packet format in basestation (without request queue) | 2014-01-04 |
updated header files | 2014-01-01 |
make base station process new packet format | 2014-01-01 |
Bugfix for eeprom/array read function. Unused upper bits were not cleared, resulting in wrong return values sometimes. | 2014-01-01 |
initial implementation for support of new packet format in powerswitch | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
Set UART_DEBUG and UART_RX defines in makefile instead of main source code file. Remove ifdefs for UART debugging and let the compiler remove unused calls when defines are not set to simplify source code. | 2013-12-31 |
use new generated functions in tempsensor device | 2013-12-31 |
simplify int access function | 2013-12-31 |
add generated header files | 2013-12-31 |
read CRC from position 0 | 2013-12-05 |
use new packet format in temp sensor | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
Merge pull request #36 from Inhumierer/develop Update util.c | 2013-11-26 |
Update util.c Fixed typo in PrintSigned | 2013-11-23 |
set correct MCU for flashing fuses | 2013-11-16 |
Merge branch 'release-v0.2.0' into develop | 2013-11-12 |
Merge branch 'develop' of https://github.com/Inhumierer/smarthomatic into develop | 2013-11-12 |
Update shc_basestation.c | 2013-11-12 |
Update util.c | 2013-11-12 |
Update util.h | 2013-11-12 |
20131117 master_v0.2.0-0-g00adbec | Download |
TAG: v0.2.0 supports the new EEPROM layout as also used in the EEPROM editor. These are other main changes: - fix problem with E2P editor and Java7 - fix several E2P editor error messages and improve handling - use fixed JAR filename for E2P editor - set BODLEVEL for all devices (under voltage detection) - add E2P and array acces functions for read/write of specific parts inside bigger blocks - add "unit test" file to test access functions, can be extended later for other tests | 2024-04-25 |
fix severe bug that the old EEPROM position was used to write the packetcounter | 2013-11-12 |
re-adding value in comment | 2013-11-03 |
Merge branch 'bod' of https://github.com/Inhumierer/smarthomatic into Inhumierer-bod | 2013-11-03 |
add more e2p default files (according new layout) | 2013-11-03 |
BOD level fuses at basestation and tempsensor | 2013-11-03 |
cleanup: remove unnecessary cast | 2013-10-27 |
read OSCCAL mode using new E2P access function | 2013-10-26 |
correct serial output string | 2013-10-26 |
add e2p compatibility check, read e2p values for deviceID, packetCounter, AES key position according E2P layout | 2013-10-26 |
add access to arrays to former eeprom access functions | 2013-10-26 |
make function signature C conform | 2013-10-14 |
add e2p access functions (not used in firmware currently) with working unit test | 2013-10-13 |
add error function that lets the LED blink forever | 2013-10-13 |
Use device specific E2P layout in base station. | 2013-10-12 |
Remove ifdefs in temp sensor code. Use E2P values instead. Use E2P values in util.h and include device specific e2p definition there. | 2013-10-12 |
20131004 master_v0.1.1-0-ga263f2f | Download |
TAG: Updated and working version with corrected fuse settings, but old EEPROM and package format. | 2024-04-25 |
Add flash batch files for Windows and move readme to common "extra" directory. | 2013-10-04 |
Correct makefile command to write fuse bytes into binary files. It was working on Windows, but not Linux. | 2013-10-04 |
Merge branch 'master' of https://github.com/Inhumierer/smarthomatic into develop | 2013-10-03 |
Using avrdude raw option for writing e2p file is the better choice than autodetection. | 2013-10-03 |
Add info about how to flash your ATMega in README. | 2013-10-03 |
Add default e2p file for basestation. | 2013-10-03 |
Create binary files for fuses, because these are supported by avrdude (and text files with hex strings are not). | 2013-10-03 |
Remove avrdude options from makefile. User should create a avrdude.rc / ~/.avrduderc with options. | 2013-10-03 |
Update uart.h typo corrected | 2013-10-03 |
Add readme for building binary packages. | 2013-10-01 |
add fuses.c files to editor project file | 2013-09-25 |
Corrected fuse settings for base station. | 2013-09-25 |
use .org domain | 2013-09-22 |
20130925 master_v0.1-0-g0697553 | Download |
TAG: stable version with initial eeprom and message format | 2024-04-25 |
shc_dimmer (develop)
20230417 develop_v0.10.1-217-gd4fdd46 | Download |
---|---|
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
20230415 develop_v0.10.1-207-gc2b24f8 | Download |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
20230130 develop_v0.10.1-148-g6117b55 | Download |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
20221125 develop_v0.10.1-136-g01b4871 | Download |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20211109 develop_v0.10.1-111-gfd16790 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
20191117 develop_v0.10.1-110-g23b294b | Download |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
20190808 develop_v0.10.1-77-gf75f338 | Download |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
20180318 develop_v0.10.1-72-g66baf5e | Download |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20151030 develop_v0.10.1-34-g0578486 | Download |
Use new Watchdog mechanism at other devices. | 2015-10-30 |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
Change comment about NRES pin. | 2015-09-27 |
20150622 develop_v0.10.1-16-g1d2ec9d | Download |
Update default e2p files to current layout. | 2015-06-22 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
20150607 develop_v0.10.1-7-g98d388f | Download |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
20150524 develop_v0.10.1-6-g29ed99b | Download |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
20150307 develop_v0.9.0-rc.5-30-gae9c9a6 | Download |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Updated header files with corrected wake-up values. | 2015-01-11 |
20150105 develop_v0.7.0-rc.1-132-g2e5d5de | Download |
Send error Ack when MessageID is not supported. This is to reduce traffic (and react according spec). Without this function, the e.g. BaseStation would retry the "Set" request and produce more traffic if a request is not supported by a device. | 2015-01-04 |
Rename functions from "...version..." to "...deviceinfo..." according to the message name. | 2015-01-04 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
20150104 develop_v0.7.0-rc.1-126-g9e692df | Download |
Fix receiver ID range to 16 bits. | 2015-01-03 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
20141117 develop_v0.7.0-rc.1-117-gaafd1c8 | Download |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
20141007 develop_v0.7.0-rc.1-101-g8e8903c | Download |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
20141005 develop_v0.7.0-rc.1-100-ga92a9e7 | Download |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
20141004 develop_v0.7.0-rc.1-89-g3a7160e | Download |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
Add generated e2p layout header. | 2014-09-16 |
Implement color animation (not working completely yet). React on ColorAnimation message. Send cyclic status. | 2014-08-17 |
20140804 develop_v0.7.0-rc.1-32-ga2ffbe9 | Download |
Change Debug message to reduce duplicate info. | 2014-08-03 |
20140727 develop_v0.7.0-rc.1-27-gafc0018 | Download |
Set BODLEVEL and correct comment. | 2014-07-23 |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Fix unit test to run without avr lib. | 2014-07-21 |
Add color animation message, using the new "structured array". | 2014-07-21 |
Support color message. | 2014-07-20 |
Remove unused file. | 2014-07-20 |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Support brightness factor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
Commented out resetting the wake-up timer when sending data with the RFM12 module. Waking up in fixed intervals is what's expected in the EnvSensor. | 2014-06-27 |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
typo corrected | 2014-06-24 |
Add Up/Down to OnChange DI pin watching | 2014-06-24 |
rename e2p values | 2014-06-15 |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Support configurable wake-up time. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
20140612 develop_v0.5.0-174-g4e55434 | Download |
Fix: Change device_id type to uint16_t (to support values > 255). | 2014-06-11 |
Remove / move include statements. | 2014-06-10 |
Use enum type instead of integer type in function signature. | 2014-06-10 |
Include needed header file. | 2014-06-10 |
cosmetic | 2014-06-10 |
Add header file for GPIO message group. | 2014-05-11 |
Add support for digital pins in the envsensor. | 2014-05-11 |
Add SRF02 (ultrasonic range sensor) support, incl. voltage converter switching at PD5. | 2014-05-06 |
Add separate functions for measuring values and for preparing a message to send. Send one message whenever an average threshold is reached. Use new message groups "weather" and "environment". Support barometric pressure message. | 2014-04-26 |
20140420 develop_v0.5.0-79-gfb7996d | Download |
Send dimmer status after button press and after animation is finished. | 2014-04-19 |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
SRF02: Add config options for SRF02 | 2014-03-31 |
Add configuration options for BMP085 | 2014-03-25 |
20140405 develop_v0.4.0-rc.1-29-ge71461f | Download |
Use 1k3 instead of 1k2 resistor (0,1%), which is more common. Adopt lookup table accordingly. Change power off timeout to 3s. | 2014-04-04 |
20140324 develop_v0.4.0-rc.1-26-gd924cd9 | Download |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Update generated header files. | 2014-03-23 |
Use new e2p layout in powerswitch firmware. | 2014-03-23 |
20140316 develop_v0.4.0-rc.1-13-gfe83608 | Download |
add flash script for linux | 2014-03-15 |
20140311 develop_v0.4.0-rc.1-11-gd863310 | Download |
correct calculation of negative values in e2p/array access function | 2014-03-11 |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
20140309 develop_v0.4.0-rc.1-5-geb18bba | Download |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
20140309 develop_v0.4.0-rc.1-3-gd84432d | Download |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
Rename rfm12_sendbuf function to rfm12_send_bufx, which better represents a function name and also tells that bufx is the buffer used in the function. | 2014-02-23 |
Remove sendbuf and use cmdbuf from main loop directly, thus removing one unnecessary buffer. | 2014-02-23 |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
20140217 develop_v0.3.0-rc.1-41-ga4931ca | Download |
Use avr-gcc names for integer variables and functions instead of C naming. | 2014-02-16 |
Make functions static to save a little flash size. | 2014-02-16 |
20140216 develop_v0.3.0-rc.1-39-gdb2e3fd | Download |
Add cleanbuild target to makefile. Change memory info format to the AVR specific one. | 2014-02-16 |
Split up of util lib into util_hw.c|h and util_generic.c|h. | 2014-02-16 |
Move hex_to_uint... functions from uart to util lib. | 2014-02-16 |
Move print_signed and print_bytearray to uart module. | 2014-02-16 |
20140215 develop_v0.3.0-rc.1-35-g7f1d2da | Download |
Use (signed) int value in firmware for OSCCAL value. | 2014-02-14 |
20140212 develop_v0.3.0-rc.1-33-g9c70cc8 | Download |
add missing UInt e2p access function | 2014-02-12 |
20140210 develop_v0.3.0-rc.1-30-gcb53db0 | Download |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
move include statement | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
20140209 develop_v0.3.0-rc.1-24-gc67c8c9 | Download |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
add define for header file | 2014-02-08 |
fix cbc decryption | 2014-02-08 |
avoid clash with definitions in inttypes.h by using it in aes256.h instead of using own declaration | 2014-02-08 |
correct battery percentage calculation in tempsensor depending on used sensor | 2014-02-02 |
Use separate e2p header files in every device and in util module instead of the old header files. Add initial compilable source code for thermostat device. | 2014-01-26 |
remove unused file in project file | 2014-01-18 |
beautify if statement in makefile | 2014-01-18 |
Merge branch 'GoHoHa-master' into develop | 2014-01-18 |
Merge branch 'master' of https://github.com/GoHoHa/smarthomatic into GoHoHa-master | 2014-01-18 |
added skeleton for thermostat HR25 | 2013-11-06 |
Typo change "RFM12" | 2013-11-04 |
20140118 develop_v0.2.0-76-gafdf34d | Download |
Correct usage of requested brightness value. Send status message. | 2014-01-18 |
move function inc_packetcounter to util file and use it everywhere | 2014-01-18 |
remove unnecessary ifdefs | 2014-01-18 |
20140118 develop_v0.2.0-70-g96f8915 | Download |
don't send status so often | 2014-01-17 |
20140117 develop_v0.2.0-65-g64fe766 | Download |
move common function rfm12_sendbuf to util | 2014-01-16 |
rename function printSigned to print_signed | 2014-01-16 |
move function print_bytearray to util module | 2014-01-16 |
use bool parameter instead of int | 2014-01-16 |
rename function | 2014-01-16 |
Reorder functions. Rename internal functions. | 2014-01-16 |
add powerswitch in flash script | 2014-01-16 |
20140107 develop_v0.2.0-53-gc2dc11e | Download |
correct calculation of packets when they don't have message data | 2014-01-06 |
support new packet format in dimmer | 2014-01-06 |
change LED blink pattern at startup | 2014-01-06 |
correct limiting of signed integer values after reading from byte array | 2014-01-05 |
support request queue for sending requests with new packet format | 2014-01-05 |
support new packet format in basestation (without request queue) | 2014-01-04 |
updated header files | 2014-01-01 |
Bugfix for eeprom/array read function. Unused upper bits were not cleared, resulting in wrong return values sometimes. | 2014-01-01 |
initial implementation for support of new packet format in powerswitch | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
Set UART_DEBUG and UART_RX defines in makefile instead of main source code file. Remove ifdefs for UART debugging and let the compiler remove unused calls when defines are not set to simplify source code. | 2013-12-31 |
use new generated functions in tempsensor device | 2013-12-31 |
simplify int access function | 2013-12-31 |
add generated header files | 2013-12-31 |
20131206 develop_v0.2.0-21-gb85f684 | Download |
use new packet format in temp sensor | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
Merge pull request #36 from Inhumierer/develop Update util.c | 2013-11-26 |
Update util.c Fixed typo in PrintSigned | 2013-11-23 |
set correct MCU for flashing fuses | 2013-11-16 |
20131113 develop_v0.2.0-rc.3-8-ge04ad3a | Download |
Merge branch 'release-v0.2.0' into develop | 2013-11-12 |
fix severe bug that the old EEPROM position was used to write the packetcounter | 2013-11-12 |
Merge branch 'develop' of https://github.com/Inhumierer/smarthomatic into develop | 2013-11-12 |
Update util.c | 2013-11-12 |
Update util.h | 2013-11-12 |
20131106 develop_v0.1.1-39-g93d6114 | Download |
20131105 develop_v0.1.1-37-g0d81754 | Download |
add e2p support for dimmer | 2013-11-03 |
add more e2p default files (according new layout) | 2013-11-03 |
add needed include | 2013-11-03 |
read OSCCAL mode using new E2P access function | 2013-10-26 |
add e2p compatibility check, read e2p values for deviceID, packetCounter, AES key position according E2P layout | 2013-10-26 |
add access to arrays to former eeprom access functions | 2013-10-26 |
make function signature C conform | 2013-10-14 |
20131014 develop_v0.1.1-13-g732fff0 | Download |
add e2p access functions (not used in firmware currently) with working unit test | 2013-10-13 |
add error function that lets the LED blink forever | 2013-10-13 |
Remove ifdefs in temp sensor code. Use E2P values instead. Use E2P values in util.h and include device specific e2p definition there. | 2013-10-12 |
20131004 develop_v0.1.1-0-ga263f2f | Download |
TAG: Updated and working version with corrected fuse settings, but old EEPROM and package format. | 2024-04-25 |
Autodetect microcontroller type in flash script. | 2013-10-04 |
Add flash batch files for Windows and move readme to common "extra" directory. | 2013-10-04 |
Correct makefile command to write fuse bytes into binary files. It was working on Windows, but not Linux. | 2013-10-04 |
20131003 develop_v0.1-15-g762dd6a | Download |
Merge branch 'master' of https://github.com/Inhumierer/smarthomatic into develop | 2013-10-03 |
Using avrdude raw option for writing e2p file is the better choice than autodetection. | 2013-10-03 |
Add info about how to flash your ATMega in README. | 2013-10-03 |
Create binary files for fuses, because these are supported by avrdude (and text files with hex strings are not). | 2013-10-03 |
Remove avrdude options from makefile. User should create a avrdude.rc / ~/.avrduderc with options. | 2013-10-03 |
Update uart.h typo corrected | 2013-10-03 |
correct comment about fuses | 2013-10-02 |
20131002 develop_v0.1-6-g042f6b6 | Download |
Add readme for building binary packages. | 2013-10-01 |
20130925 develop_v0.1-1-gf02bdd5 | Download |
use .org domain | 2013-09-22 |
20130925 develop_v0.1-0-g0697553 | Download |
TAG: stable version with initial eeprom and message format | 2024-04-25 |
Add header files for e2p positions (generated by e2p editor). Files are unused a.t.m. | 2013-09-21 |
add files | 2013-09-18 |
shc_dimmer (release)
20230729 release_v0.13.0-rc.1-0-gb18cbf0 | Download |
---|---|
Correct animation timer speed for Controller device (since it's running on 20 MHz and not 8 Mhz CPU clock). | 2023-05-28 |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in makefile. | 2023-05-11 |
Support display_backlight function in controller device. | 2023-05-09 |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
Extend max. virtual pages to 4. | 2023-04-20 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20220906 release_v0.12.0-rc.1-0-ga8c1fc0 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20151212 release_v0.11.0-rc.1-0-g3042e25 | Download |
Use new Watchdog mechanism at other devices. | 2015-10-30 |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
Change comment about NRES pin. | 2015-09-27 |
Update default e2p files to current layout. | 2015-06-22 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
20150502 release_v0.10.0-rc.1-0-g39b1b02 | Download |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150208 release_v0.9.0-rc.1-0-ga724183 | Download |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Updated header files with corrected wake-up values. | 2015-01-11 |
Send error Ack when MessageID is not supported. This is to reduce traffic (and react according spec). Without this function, the e.g. BaseStation would retry the "Set" request and produce more traffic if a request is not supported by a device. | 2015-01-04 |
Rename functions from "...version..." to "...deviceinfo..." according to the message name. | 2015-01-04 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
Fix receiver ID range to 16 bits. | 2015-01-03 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
20140916 release_v0.8.0-rc.1-0-gfe3f648 | Download |
Add generated e2p layout header. | 2014-09-16 |
Implement color animation (not working completely yet). React on ColorAnimation message. Send cyclic status. | 2014-08-17 |
Change Debug message to reduce duplicate info. | 2014-08-03 |
Set BODLEVEL and correct comment. | 2014-07-23 |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Fix unit test to run without avr lib. | 2014-07-21 |
Add color animation message, using the new "structured array". | 2014-07-21 |
Support color message. | 2014-07-20 |
Remove unused file. | 2014-07-20 |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Support brightness factor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
20140710 release_v0.7.0-rc.1-0-g309c9d6 | Download |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
Commented out resetting the wake-up timer when sending data with the RFM12 module. Waking up in fixed intervals is what's expected in the EnvSensor. | 2014-06-27 |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
typo corrected | 2014-06-24 |
Add Up/Down to OnChange DI pin watching | 2014-06-24 |
rename e2p values | 2014-06-15 |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Support configurable wake-up time. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
Fix: Change device_id type to uint16_t (to support values > 255). | 2014-06-11 |
Remove / move include statements. | 2014-06-10 |
Use enum type instead of integer type in function signature. | 2014-06-10 |
Include needed header file. | 2014-06-10 |
cosmetic | 2014-06-10 |
Add header file for GPIO message group. | 2014-05-11 |
Add support for digital pins in the envsensor. | 2014-05-11 |
Add SRF02 (ultrasonic range sensor) support, incl. voltage converter switching at PD5. | 2014-05-06 |
20140506 release_v0.6.0-rc.1-0-g8900514 | Download |
Add separate functions for measuring values and for preparing a message to send. Send one message whenever an average threshold is reached. Use new message groups "weather" and "environment". Support barometric pressure message. | 2014-04-26 |
Send dimmer status after button press and after animation is finished. | 2014-04-19 |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
Use 1k3 instead of 1k2 resistor (0,1%), which is more common. Adopt lookup table accordingly. Change power off timeout to 3s. | 2014-04-04 |
SRF02: Add config options for SRF02 | 2014-03-31 |
Add configuration options for BMP085 | 2014-03-25 |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Update generated header files. | 2014-03-23 |
Use new e2p layout in powerswitch firmware. | 2014-03-23 |
add flash script for linux | 2014-03-15 |
correct calculation of negative values in e2p/array access function | 2014-03-11 |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
20140224 release_v0.4.0-rc.1-0-g2feca00 | Download |
Rename rfm12_sendbuf function to rfm12_send_bufx, which better represents a function name and also tells that bufx is the buffer used in the function. | 2014-02-23 |
Remove sendbuf and use cmdbuf from main loop directly, thus removing one unnecessary buffer. | 2014-02-23 |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
Use avr-gcc names for integer variables and functions instead of C naming. | 2014-02-16 |
Make functions static to save a little flash size. | 2014-02-16 |
Add cleanbuild target to makefile. Change memory info format to the AVR specific one. | 2014-02-16 |
Split up of util lib into util_hw.c|h and util_generic.c|h. | 2014-02-16 |
Move hex_to_uint... functions from uart to util lib. | 2014-02-16 |
Move print_signed and print_bytearray to uart module. | 2014-02-16 |
Use (signed) int value in firmware for OSCCAL value. | 2014-02-14 |
add missing UInt e2p access function | 2014-02-12 |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
move include statement | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
add define for header file | 2014-02-08 |
fix cbc decryption | 2014-02-08 |
avoid clash with definitions in inttypes.h by using it in aes256.h instead of using own declaration | 2014-02-08 |
correct battery percentage calculation in tempsensor depending on used sensor | 2014-02-02 |
Use separate e2p header files in every device and in util module instead of the old header files. Add initial compilable source code for thermostat device. | 2014-01-26 |
remove unused file in project file | 2014-01-18 |
beautify if statement in makefile | 2014-01-18 |
Merge branch 'GoHoHa-master' into develop | 2014-01-18 |
Merge branch 'master' of https://github.com/GoHoHa/smarthomatic into GoHoHa-master | 2014-01-18 |
added skeleton for thermostat HR25 | 2013-11-06 |
Typo change "RFM12" | 2013-11-04 |
20140118 release_v0.3.0-rc.1-0-gc639872 | Download |
Correct usage of requested brightness value. Send status message. | 2014-01-18 |
move function inc_packetcounter to util file and use it everywhere | 2014-01-18 |
remove unnecessary ifdefs | 2014-01-18 |
don't send status so often | 2014-01-17 |
move common function rfm12_sendbuf to util | 2014-01-16 |
rename function printSigned to print_signed | 2014-01-16 |
move function print_bytearray to util module | 2014-01-16 |
use bool parameter instead of int | 2014-01-16 |
rename function | 2014-01-16 |
Reorder functions. Rename internal functions. | 2014-01-16 |
add powerswitch in flash script | 2014-01-16 |
correct calculation of packets when they don't have message data | 2014-01-06 |
support new packet format in dimmer | 2014-01-06 |
change LED blink pattern at startup | 2014-01-06 |
correct limiting of signed integer values after reading from byte array | 2014-01-05 |
support request queue for sending requests with new packet format | 2014-01-05 |
support new packet format in basestation (without request queue) | 2014-01-04 |
updated header files | 2014-01-01 |
Bugfix for eeprom/array read function. Unused upper bits were not cleared, resulting in wrong return values sometimes. | 2014-01-01 |
initial implementation for support of new packet format in powerswitch | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
Set UART_DEBUG and UART_RX defines in makefile instead of main source code file. Remove ifdefs for UART debugging and let the compiler remove unused calls when defines are not set to simplify source code. | 2013-12-31 |
use new generated functions in tempsensor device | 2013-12-31 |
simplify int access function | 2013-12-31 |
add generated header files | 2013-12-31 |
use new packet format in temp sensor | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
Merge pull request #36 from Inhumierer/develop Update util.c | 2013-11-26 |
Update util.c Fixed typo in PrintSigned | 2013-11-23 |
set correct MCU for flashing fuses | 2013-11-16 |
Merge branch 'release-v0.2.0' into develop | 2013-11-12 |
Merge branch 'develop' of https://github.com/Inhumierer/smarthomatic into develop | 2013-11-12 |
Update util.c | 2013-11-12 |
Update util.h | 2013-11-12 |
20131113 release_v0.2.0-rc.3-0-gb499f61 | Download |
fix severe bug that the old EEPROM position was used to write the packetcounter | 2013-11-12 |
20131106 release_v0.2.0-rc.1-0-g93d6114 | Download |
shc_dimmer (master)
20230730 master_v0.13.0-0-g278c0ec | Download |
---|---|
TAG: *General:* Support "deliver" message to ensure that the base station received a message sent by a device (used by controller device). Support 64 byte packets. Support ATMega1284 and 4kB e2p. Improve collision detection timing. *Controller:* New device which acts as user interface. Supports LCD text display, RGB LED, speaker and buttons to navigate through a menu with options defined in e2p. Can be used as control interface for smart home functions. *Powerswitch:* Support for On/Off delay that is used when a status change is triggered by the optional switch. Put relais state into status message. Fix version status cycle. *RGB Dimmer:* HW break! Pins for RGB LEDs changed to have common source code with controller device. Support "tone" and "melody" message to play (warning) melodies / alerts. *FHEM:* Update modules to be used with new controller device. Use default baud rate of 115200. Avoid "require" keyword and "given/when". | 2024-04-25 |
Correct animation timer speed for Controller device (since it's running on 20 MHz and not 8 Mhz CPU clock). | 2023-05-28 |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in makefile. | 2023-05-11 |
Support display_backlight function in controller device. | 2023-05-09 |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
Extend max. virtual pages to 4. | 2023-04-20 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20220906 master_v0.12.0-0-gec025f0 | Download |
TAG: EnvSensor: Support ParticulateMatter sensor. Support FloatValue type in e2p. Add tea maker project (currently not being worked on). Add shutter control HW. Generic maxi speed 1.2 introduces transistor to switch RFM module on/off. Support transceiver timeout to restart RFM12 if needed. Allow to edit strings as array in e2p editor. | 2024-04-25 |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20160103 master_v0.11.0-0-gfa208fc | Download |
TAG: Increase stability of devices which send and receive and have sporadic hangs of RFM module: Added configurable (optional) watchdog to reset ATMega and RFM12B when nothing is received some time. Add HardwareError message to FHEM parser to log the error cases. Update Soil Moisture Meter PCB (V1.2) with 6-pin ISP connector including VCC pin. Update Dimmer PCB (V1.3), Power Switch PCB (V1.1), Generic Maxi Speed PCB (V1.1) by added VCC pin on ISP connector and/or connection of RFM power pin to an I/O pin for shutting it off in case of a hang. Added new Generic Micro 2 SMD PCB (V1.0) which is compatible to a Generic Midi and can be used as a smaller EnvSensor device. | 2024-04-25 |
Use new Watchdog mechanism at other devices. | 2015-10-30 |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
Change comment about NRES pin. | 2015-09-27 |
Update default e2p files to current layout. | 2015-06-22 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
20150517 master_v0.10.1-0-g9d85b61 | Download |
TAG: Hotfix for buggy CRC check with GCC 4.7.2 on linux (which my build robot uses under linux). | 2024-04-25 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
20150516 master_v0.10.0-0-g6ecdef6 | Download |
TAG: Speed up of communication to/from base station by supporting 115200 baud on UART and shortening strings. Reaction on a command over UART until encrypted packet is sent is now under 20ms! Add CRC32 at the end of the packet data string to secure sommunication from base station to PC (fhem). Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. Add SmoothingPercentage parameter to SoilMoistureMeter to smooth reported humidity values. | 2024-04-25 |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150301 master_v0.9.0-0-gec1ee4e | Download |
TAG: Add new device soil moisture meter (schematics, layout and firmware). Speed up encryption/decryption drastically by using other AES lib. Support additional sensors in EnvSensor: HTU21d (I2C, humidity + temperature), DS18S20/DS18B20 (1-wire, temperature). Reduce power consumption to ~1.8µA at EnvSensor by switching off BOD in sleep mode. Support DeviceInfo message (containing DeviceType + firmware version) at all devices. Send Error Ack for messages which are not supported at all devices. Several minor fixes. | 2024-04-25 |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Updated header files with corrected wake-up values. | 2015-01-11 |
Send error Ack when MessageID is not supported. This is to reduce traffic (and react according spec). Without this function, the e.g. BaseStation would retry the "Set" request and produce more traffic if a request is not supported by a device. | 2015-01-04 |
Rename functions from "...version..." to "...deviceinfo..." according to the message name. | 2015-01-04 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
Fix receiver ID range to 16 bits. | 2015-01-03 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
20140921 master_v0.8.0-0-gc0ed0c3 | Download |
TAG: Implement RGB dimmer firmware. Support Color and ColorAnimation message for an animation (fading) of several colors, using repeat and autoreverse parameters for different visual effects. BaseStation: Automatically truncate empty bytes in messages before sending. Fix sending packets > 16 bytes. Avoid request queue for broadcast requests. | 2024-04-25 |
Add generated e2p layout header. | 2014-09-16 |
Implement color animation (not working completely yet). React on ColorAnimation message. Send cyclic status. | 2014-08-17 |
Change Debug message to reduce duplicate info. | 2014-08-03 |
Set BODLEVEL and correct comment. | 2014-07-23 |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Fix unit test to run without avr lib. | 2014-07-21 |
Add color animation message, using the new "structured array". | 2014-07-21 |
Support color message. | 2014-07-20 |
Remove unused file. | 2014-07-20 |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Support brightness factor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
20140728 master_v0.7.0-0-g0e996cc | Download |
TAG: EnvSensor: add digital + analog input support, configurable wake-up / measuring times. Add support for SRF02 ultrasonic distance sensor. E2PEditor: Handling of default values for config options, incl. coloring of modified values. | 2024-04-25 |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
Commented out resetting the wake-up timer when sending data with the RFM12 module. Waking up in fixed intervals is what's expected in the EnvSensor. | 2014-06-27 |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
typo corrected | 2014-06-24 |
Add Up/Down to OnChange DI pin watching | 2014-06-24 |
rename e2p values | 2014-06-15 |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Support configurable wake-up time. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
Fix: Change device_id type to uint16_t (to support values > 255). | 2014-06-11 |
Remove / move include statements. | 2014-06-10 |
Use enum type instead of integer type in function signature. | 2014-06-10 |
Include needed header file. | 2014-06-10 |
cosmetic | 2014-06-10 |
Add header file for GPIO message group. | 2014-05-11 |
Add support for digital pins in the envsensor. | 2014-05-11 |
Add SRF02 (ultrasonic range sensor) support, incl. voltage converter switching at PD5. | 2014-05-06 |
20140610 master_v0.6.1-0-g19b1771 | Download |
TAG: HotFix: Copy request buffer indices correctly in request queue. This bug could lead to sending messages endlessly (only) in the case when there were more than 2 requests in a queue for one receiver and the requests were additionally not acknowledged. | 2024-04-25 |
20140515 master_v0.6.0-0-gf49d8af | Download |
TAG: Support for I2C. Support for temp sensor DS7505. Support for barometric pressure sensor BMP085. FHEM support. Support for array structures in e2p definitions and packets (used in base station and power switch e2p layout). Renamed "tempsensor" to "envsensor", which also requires an ATMega328. e2p editor remembers flash command line. | 2024-04-25 |
Add separate functions for measuring values and for preparing a message to send. Send one message whenever an average threshold is reached. Use new message groups "weather" and "environment". Support barometric pressure message. | 2014-04-26 |
Send dimmer status after button press and after animation is finished. | 2014-04-19 |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
Use 1k3 instead of 1k2 resistor (0,1%), which is more common. Adopt lookup table accordingly. Change power off timeout to 3s. | 2014-04-04 |
SRF02: Add config options for SRF02 | 2014-03-31 |
Add configuration options for BMP085 | 2014-03-25 |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Update generated header files. | 2014-03-23 |
Use new e2p layout in powerswitch firmware. | 2014-03-23 |
add flash script for linux | 2014-03-15 |
correct calculation of negative values in e2p/array access function | 2014-03-11 |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
20140309 master_v0.5.0-0-g6adbdc0 | Download |
TAG: Use ATMega328 for TempSensor. Everything else is identical to v0.4.0. | 2024-04-25 |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
20140302 master_v0.4.0-0-gb07c72b | Download |
TAG: The generated e2p access functions are improved to allow simpler use. Signed ints are now supported as e2p values. All firmwares built by the build robot now contain a version number compiled into the firmware. The version is sent by each device about once a day. | 2024-04-25 |
Rename rfm12_sendbuf function to rfm12_send_bufx, which better represents a function name and also tells that bufx is the buffer used in the function. | 2014-02-23 |
Remove sendbuf and use cmdbuf from main loop directly, thus removing one unnecessary buffer. | 2014-02-23 |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
Use avr-gcc names for integer variables and functions instead of C naming. | 2014-02-16 |
Make functions static to save a little flash size. | 2014-02-16 |
Add cleanbuild target to makefile. Change memory info format to the AVR specific one. | 2014-02-16 |
Split up of util lib into util_hw.c|h and util_generic.c|h. | 2014-02-16 |
Move hex_to_uint... functions from uart to util lib. | 2014-02-16 |
Move print_signed and print_bytearray to uart module. | 2014-02-16 |
Use (signed) int value in firmware for OSCCAL value. | 2014-02-14 |
add missing UInt e2p access function | 2014-02-12 |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
move include statement | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
add define for header file | 2014-02-08 |
fix cbc decryption | 2014-02-08 |
avoid clash with definitions in inttypes.h by using it in aes256.h instead of using own declaration | 2014-02-08 |
correct battery percentage calculation in tempsensor depending on used sensor | 2014-02-02 |
Use separate e2p header files in every device and in util module instead of the old header files. Add initial compilable source code for thermostat device. | 2014-01-26 |
remove unused file in project file | 2014-01-18 |
beautify if statement in makefile | 2014-01-18 |
Merge branch 'GoHoHa-master' into develop | 2014-01-18 |
Merge branch 'master' of https://github.com/GoHoHa/smarthomatic into GoHoHa-master | 2014-01-18 |
added skeleton for thermostat HR25 | 2013-11-06 |
Typo change "RFM12" | 2013-11-04 |
20140201 master_v0.3.0-0-gac61e5c | Download |
TAG: Update of the packet format as described on the homepage. Functions to access the packet data fields easily in the firmware are generated from the packet_layout.xml definition. The code generator is included in the E2P editor. Six message types are defined to support all needed communication sequences. The new packet format also supports more devices (4096 instead of 256). Firmware includes support of the new functions/packet format in all four devices. | 2024-04-25 |
Correct usage of requested brightness value. Send status message. | 2014-01-18 |
move function inc_packetcounter to util file and use it everywhere | 2014-01-18 |
remove unnecessary ifdefs | 2014-01-18 |
don't send status so often | 2014-01-17 |
move common function rfm12_sendbuf to util | 2014-01-16 |
rename function printSigned to print_signed | 2014-01-16 |
move function print_bytearray to util module | 2014-01-16 |
use bool parameter instead of int | 2014-01-16 |
rename function | 2014-01-16 |
Reorder functions. Rename internal functions. | 2014-01-16 |
add powerswitch in flash script | 2014-01-16 |
correct calculation of packets when they don't have message data | 2014-01-06 |
support new packet format in dimmer | 2014-01-06 |
change LED blink pattern at startup | 2014-01-06 |
correct limiting of signed integer values after reading from byte array | 2014-01-05 |
support request queue for sending requests with new packet format | 2014-01-05 |
support new packet format in basestation (without request queue) | 2014-01-04 |
updated header files | 2014-01-01 |
Bugfix for eeprom/array read function. Unused upper bits were not cleared, resulting in wrong return values sometimes. | 2014-01-01 |
initial implementation for support of new packet format in powerswitch | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
Set UART_DEBUG and UART_RX defines in makefile instead of main source code file. Remove ifdefs for UART debugging and let the compiler remove unused calls when defines are not set to simplify source code. | 2013-12-31 |
use new generated functions in tempsensor device | 2013-12-31 |
simplify int access function | 2013-12-31 |
add generated header files | 2013-12-31 |
use new packet format in temp sensor | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
Merge pull request #36 from Inhumierer/develop Update util.c | 2013-11-26 |
Update util.c Fixed typo in PrintSigned | 2013-11-23 |
set correct MCU for flashing fuses | 2013-11-16 |
Merge branch 'release-v0.2.0' into develop | 2013-11-12 |
Merge branch 'develop' of https://github.com/Inhumierer/smarthomatic into develop | 2013-11-12 |
Update util.c | 2013-11-12 |
Update util.h | 2013-11-12 |
20131117 master_v0.2.0-0-g00adbec | Download |
TAG: v0.2.0 supports the new EEPROM layout as also used in the EEPROM editor. These are other main changes: - fix problem with E2P editor and Java7 - fix several E2P editor error messages and improve handling - use fixed JAR filename for E2P editor - set BODLEVEL for all devices (under voltage detection) - add E2P and array acces functions for read/write of specific parts inside bigger blocks - add "unit test" file to test access functions, can be extended later for other tests | 2024-04-25 |
fix severe bug that the old EEPROM position was used to write the packetcounter | 2013-11-12 |
add e2p support for dimmer | 2013-11-03 |
add more e2p default files (according new layout) | 2013-11-03 |
add needed include | 2013-11-03 |
read OSCCAL mode using new E2P access function | 2013-10-26 |
add e2p compatibility check, read e2p values for deviceID, packetCounter, AES key position according E2P layout | 2013-10-26 |
add access to arrays to former eeprom access functions | 2013-10-26 |
make function signature C conform | 2013-10-14 |
add e2p access functions (not used in firmware currently) with working unit test | 2013-10-13 |
add error function that lets the LED blink forever | 2013-10-13 |
Remove ifdefs in temp sensor code. Use E2P values instead. Use E2P values in util.h and include device specific e2p definition there. | 2013-10-12 |
20131004 master_v0.1.1-0-ga263f2f | Download |
TAG: Updated and working version with corrected fuse settings, but old EEPROM and package format. | 2024-04-25 |
Autodetect microcontroller type in flash script. | 2013-10-04 |
Add flash batch files for Windows and move readme to common "extra" directory. | 2013-10-04 |
Correct makefile command to write fuse bytes into binary files. It was working on Windows, but not Linux. | 2013-10-04 |
Merge branch 'master' of https://github.com/Inhumierer/smarthomatic into develop | 2013-10-03 |
Using avrdude raw option for writing e2p file is the better choice than autodetection. | 2013-10-03 |
Add info about how to flash your ATMega in README. | 2013-10-03 |
Create binary files for fuses, because these are supported by avrdude (and text files with hex strings are not). | 2013-10-03 |
Remove avrdude options from makefile. User should create a avrdude.rc / ~/.avrduderc with options. | 2013-10-03 |
Update uart.h typo corrected | 2013-10-03 |
correct comment about fuses | 2013-10-02 |
Add readme for building binary packages. | 2013-10-01 |
use .org domain | 2013-09-22 |
20130925 master_v0.1-0-g0697553 | Download |
TAG: stable version with initial eeprom and message format | 2024-04-25 |
shc_powerswitch (develop)
20230417 develop_v0.10.1-217-gd4fdd46 | Download |
---|---|
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Modify the RFM12 reset / power pin logic in the power switch device. Since power is directly connected to the I/O pin, it needs to be changed. | 2023-04-16 |
Call new rfm12_send_wait_led function immediately when packets shall be sent. Use new rfm12_delay20 function and therefore speed up sending packets. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
20230415 develop_v0.10.1-207-gc2b24f8 | Download |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
20230130 develop_v0.10.1-148-g6117b55 | Download |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
20221125 develop_v0.10.1-136-g01b4871 | Download |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Update spaces in PowerSwitch Makefile. | 2022-10-03 |
20220924 develop_v0.10.1-120-gef383c9 | Download |
Send status message when logical switch state changed. | 2022-09-23 |
Correct that only 2 relais states are set (only 8 bit available). | 2022-09-23 |
Fix calculation of version_status_cycle. | 2022-09-22 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Put also the relais state as a result from (requested) command state, physical switch state and switch delay, into the digitalporttimeout message. | 2022-09-21 |
20220920 develop_v0.10.1-114-g28f653f | Download |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20220917 develop_v0.10.1-113-g4d8b9e0 | Download |
Fix missing breaks in switch-case statement for SWITCHMODE function of powerswitch. | 2022-09-16 |
20211109 develop_v0.10.1-111-gfd16790 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
20191117 develop_v0.10.1-110-g23b294b | Download |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
20191021 develop_v0.10.1-91-g6efd3de | Download |
Send status of manual switches also when status is sent (not only in the Ack). | 2019-08-10 |
Read state of manual switch (if configured) and update relais state accordingly. | 2019-08-09 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
Calculate relais state out or cmd state and switch state. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Read new switch mode from e2p. | 2019-08-08 |
Fix trailing spaces. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Added defines for additional manual switch. | 2019-08-08 |
20190808 develop_v0.10.1-77-gf75f338 | Download |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
20180318 develop_v0.10.1-72-g66baf5e | Download |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20151030 develop_v0.10.1-34-g0578486 | Download |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Update comment. | 2015-09-30 |
Increase delay for reset / power down time. | 2015-09-27 |
20150622 develop_v0.10.1-16-g1d2ec9d | Download |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
20150607 develop_v0.10.1-7-g98d388f | Download |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
20150524 develop_v0.10.1-6-g29ed99b | Download |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
20150307 develop_v0.9.0-rc.5-30-gae9c9a6 | Download |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150222 develop_v0.7.0-rc.1-152-gfd61ff8 | Download |
Fix writing timeout value of 0 to e2p when timeout was counted down completely. The power switch was toggling state again after timeout after power loss even if this was not intended. (Thanks to wurststulle for the bug report.) | 2015-02-21 |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Updated header files with corrected wake-up values. | 2015-01-11 |
20150105 develop_v0.7.0-rc.1-132-g2e5d5de | Download |
Send error Ack when MessageID is not supported. This is to reduce traffic (and react according spec). Without this function, the e.g. BaseStation would retry the "Set" request and produce more traffic if a request is not supported by a device. | 2015-01-04 |
Rename functions from "...version..." to "...deviceinfo..." according to the message name. | 2015-01-04 |
Remove debug output. | 2015-01-04 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
20150104 develop_v0.7.0-rc.1-126-g9e692df | Download |
Fix receiver ID range to 16 bits. | 2015-01-03 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
20141117 develop_v0.7.0-rc.1-117-gaafd1c8 | Download |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
20141010 develop_v0.7.0-rc.1-108-g563a108 | Download |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
Limit number of switches as defined when preparing message to send. | 2014-10-09 |
20141007 develop_v0.7.0-rc.1-101-g8e8903c | Download |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
20141005 develop_v0.7.0-rc.1-100-ga92a9e7 | Download |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
20141004 develop_v0.7.0-rc.1-89-g3a7160e | Download |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Check relais number to switch and ignore call when number higher than relais count. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
20141003 develop_v0.7.0-rc.1-82-gaabe7b1 | Download |
Implement support for digitalpin and digitalpintimeout messages. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
20140928 develop_v0.7.0-rc.1-78-g85f7def | Download |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support up to 6 switches in power switch. Use new messages DigitalPort(Timeout) / DigitalPin(Timeout) (partly implemented). | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
Add generated e2p layout header. | 2014-09-16 |
Implement color animation (not working completely yet). React on ColorAnimation message. Send cyclic status. | 2014-08-17 |
20140804 develop_v0.7.0-rc.1-32-ga2ffbe9 | Download |
Change Debug message to reduce duplicate info. | 2014-08-03 |
20140727 develop_v0.7.0-rc.1-27-gafc0018 | Download |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Fix unit test to run without avr lib. | 2014-07-21 |
Add color animation message, using the new "structured array". | 2014-07-21 |
Support color message. | 2014-07-20 |
Remove unused file. | 2014-07-20 |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Support brightness factor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
Commented out resetting the wake-up timer when sending data with the RFM12 module. Waking up in fixed intervals is what's expected in the EnvSensor. | 2014-06-27 |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
typo corrected | 2014-06-24 |
Add Up/Down to OnChange DI pin watching | 2014-06-24 |
rename e2p values | 2014-06-15 |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Support configurable wake-up time. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
20140612 develop_v0.5.0-174-g4e55434 | Download |
Fix: Change device_id type to uint16_t (to support values > 255). | 2014-06-11 |
Remove / move include statements. | 2014-06-10 |
Use enum type instead of integer type in function signature. | 2014-06-10 |
Include needed header file. | 2014-06-10 |
cosmetic | 2014-06-10 |
Add header file for GPIO message group. | 2014-05-11 |
Add support for digital pins in the envsensor. | 2014-05-11 |
Add SRF02 (ultrasonic range sensor) support, incl. voltage converter switching at PD5. | 2014-05-06 |
Add separate functions for measuring values and for preparing a message to send. Send one message whenever an average threshold is reached. Use new message groups "weather" and "environment". Support barometric pressure message. | 2014-04-26 |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
SRF02: Add config options for SRF02 | 2014-03-31 |
Add configuration options for BMP085 | 2014-03-25 |
20140326 develop_v0.4.0-rc.1-27-g5c78670 | Download |
Make switch state and timeout persistent against power loss. | 2014-03-25 |
20140324 develop_v0.4.0-rc.1-26-gd924cd9 | Download |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Update generated header files. | 2014-03-23 |
Use new e2p layout in powerswitch firmware. | 2014-03-23 |
20140316 develop_v0.4.0-rc.1-13-gfe83608 | Download |
add flash script for linux | 2014-03-15 |
20140311 develop_v0.4.0-rc.1-11-gd863310 | Download |
correct calculation of negative values in e2p/array access function | 2014-03-11 |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
20140309 develop_v0.4.0-rc.1-5-geb18bba | Download |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
20140309 develop_v0.4.0-rc.1-3-gd84432d | Download |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
20140224 develop_v0.3.0-rc.1-46-g2feca00 | Download |
Rename rfm12_sendbuf function to rfm12_send_bufx, which better represents a function name and also tells that bufx is the buffer used in the function. | 2014-02-23 |
Fix using timeout correctly even when switch state is already as requested. | 2014-02-23 |
Remove sendbuf and use cmdbuf from main loop directly, thus removing one unnecessary buffer. | 2014-02-23 |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
20140217 develop_v0.3.0-rc.1-41-ga4931ca | Download |
Use avr-gcc names for integer variables and functions instead of C naming. | 2014-02-16 |
Make functions static to save a little flash size. | 2014-02-16 |
20140216 develop_v0.3.0-rc.1-39-gdb2e3fd | Download |
Add cleanbuild target to makefile. Change memory info format to the AVR specific one. | 2014-02-16 |
Split up of util lib into util_hw.c|h and util_generic.c|h. | 2014-02-16 |
Move hex_to_uint... functions from uart to util lib. | 2014-02-16 |
Move print_signed and print_bytearray to uart module. | 2014-02-16 |
20140215 develop_v0.3.0-rc.1-35-g7f1d2da | Download |
Use (signed) int value in firmware for OSCCAL value. | 2014-02-14 |
20140212 develop_v0.3.0-rc.1-33-g9c70cc8 | Download |
add missing UInt e2p access function | 2014-02-12 |
20140210 develop_v0.3.0-rc.1-30-gcb53db0 | Download |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
move include statement | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
20140209 develop_v0.3.0-rc.1-24-gc67c8c9 | Download |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
add define for header file | 2014-02-08 |
fix cbc decryption | 2014-02-08 |
avoid clash with definitions in inttypes.h by using it in aes256.h instead of using own declaration | 2014-02-08 |
correct battery percentage calculation in tempsensor depending on used sensor | 2014-02-02 |
Use separate e2p header files in every device and in util module instead of the old header files. Add initial compilable source code for thermostat device. | 2014-01-26 |
beautify if statement in makefile | 2014-01-18 |
Merge branch 'GoHoHa-master' into develop | 2014-01-18 |
Merge branch 'master' of https://github.com/GoHoHa/smarthomatic into GoHoHa-master | 2014-01-18 |
added skeleton for thermostat HR25 | 2013-11-06 |
Typo change "RFM12" | 2013-11-04 |
20140118 develop_v0.2.0-76-gafdf34d | Download |
move function inc_packetcounter to util file and use it everywhere | 2014-01-18 |
20140118 develop_v0.2.0-70-g96f8915 | Download |
don't send status so often | 2014-01-17 |
20140117 develop_v0.2.0-65-g64fe766 | Download |
move common function rfm12_sendbuf to util | 2014-01-16 |
rename function printSigned to print_signed | 2014-01-16 |
move function print_bytearray to util module | 2014-01-16 |
use bool parameter instead of int | 2014-01-16 |
rename function | 2014-01-16 |
print out OSCCAL info (if UART debugging active) | 2014-01-16 |
Reorder functions. Rename internal functions. | 2014-01-16 |
add powerswitch in flash script | 2014-01-16 |
20140116 develop_v0.2.0-55-g9848939 | Download |
update default e2p file | 2014-01-15 |
20140107 develop_v0.2.0-53-gc2dc11e | Download |
correct calculation of packets when they don't have message data | 2014-01-06 |
correct reaction on SET, GET and SETGET message types | 2014-01-06 |
support new packet format in dimmer | 2014-01-06 |
check eeprom compatibility at startup | 2014-01-06 |
Show switch state with LED. Let LED blink if timeout is set. | 2014-01-06 |
add button support for manual switching | 2014-01-06 |
use ATMega328 for power switch to allow more features and debugging output | 2014-01-06 |
20140106 develop_v0.2.0-43-g1dda5f2 | Download |
correct limiting of signed integer values after reading from byte array | 2014-01-05 |
beautify debug output | 2014-01-05 |
support request queue for sending requests with new packet format | 2014-01-05 |
20140105 develop_v0.2.0-39-gbd2cda2 | Download |
support new packet format in basestation (without request queue) | 2014-01-04 |
optimize debug output | 2014-01-04 |
add OSCCAL support | 2014-01-04 |
20140102 develop_v0.2.0-35-g0d87767 | Download |
updated header files | 2014-01-01 |
Bugfix for eeprom/array read function. Unused upper bits were not cleared, resulting in wrong return values sometimes. | 2014-01-01 |
initial implementation for support of new packet format in powerswitch | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
Set UART_DEBUG and UART_RX defines in makefile instead of main source code file. Remove ifdefs for UART debugging and let the compiler remove unused calls when defines are not set to simplify source code. | 2013-12-31 |
use new generated functions in tempsensor device | 2013-12-31 |
simplify int access function | 2013-12-31 |
add generated header files | 2013-12-31 |
20131206 develop_v0.2.0-21-gb85f684 | Download |
use new packet format in temp sensor | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
Merge pull request #36 from Inhumierer/develop Update util.c | 2013-11-26 |
Update util.c Fixed typo in PrintSigned | 2013-11-23 |
20131118 develop_v0.2.0-rc.3-13-ge4904a4 | Download |
use pin PC0 for relais / transistor | 2013-11-16 |
use 8 Mhz at power switch | 2013-11-16 |
set correct MCU for flashing fuses | 2013-11-16 |
20131113 develop_v0.2.0-rc.3-8-ge04ad3a | Download |
Merge branch 'release-v0.2.0' into develop | 2013-11-12 |
fix severe bug that the old EEPROM position was used to write the packetcounter | 2013-11-12 |
Merge branch 'develop' of https://github.com/Inhumierer/smarthomatic into develop | 2013-11-12 |
Update util.c | 2013-11-12 |
Update util.h | 2013-11-12 |
20131106 develop_v0.1.1-39-g93d6114 | Download |
20131104 develop_v0.1.1-37-g0d81754 | Download |
correct comment | 2013-11-03 |
set BODLEVEL fuse | 2013-11-03 |
add more e2p default files (according new layout) | 2013-11-03 |
20131028 develop_v0.1.1-23-g3645da1 | Download |
support new e2p layout in powerswitch | 2013-10-27 |
read OSCCAL mode using new E2P access function | 2013-10-26 |
add e2p compatibility check, read e2p values for deviceID, packetCounter, AES key position according E2P layout | 2013-10-26 |
add access to arrays to former eeprom access functions | 2013-10-26 |
make function signature C conform | 2013-10-14 |
add e2p access functions (not used in firmware currently) with working unit test | 2013-10-13 |
add error function that lets the LED blink forever | 2013-10-13 |
Use device specific E2P layout in base station. | 2013-10-12 |
Remove ifdefs in temp sensor code. Use E2P values instead. Use E2P values in util.h and include device specific e2p definition there. | 2013-10-12 |
20131004 develop_v0.1.1-0-ga263f2f | Download |
TAG: Updated and working version with corrected fuse settings, but old EEPROM and package format. | 2024-04-25 |
Autodetect microcontroller type in flash script. | 2013-10-04 |
Add flash batch files for Windows and move readme to common "extra" directory. | 2013-10-04 |
Correct makefile command to write fuse bytes into binary files. It was working on Windows, but not Linux. | 2013-10-04 |
20131003 develop_v0.1-15-g762dd6a | Download |
Merge branch 'master' of https://github.com/Inhumierer/smarthomatic into develop | 2013-10-03 |
Using avrdude raw option for writing e2p file is the better choice than autodetection. | 2013-10-03 |
Add info about how to flash your ATMega in README. | 2013-10-03 |
Create binary files for fuses, because these are supported by avrdude (and text files with hex strings are not). | 2013-10-03 |
Remove avrdude options from makefile. User should create a avrdude.rc / ~/.avrduderc with options. | 2013-10-03 |
Update uart.h typo corrected | 2013-10-03 |
20131002 develop_v0.1-6-g042f6b6 | Download |
Add readme for building binary packages. | 2013-10-01 |
add fuses.c files to editor project file | 2013-09-25 |
20130925 develop_v0.1-1-gf02bdd5 | Download |
use .org domain | 2013-09-22 |
20130925 develop_v0.1-0-g0697553 | Download |
TAG: stable version with initial eeprom and message format | 2024-04-25 |
Add header files for e2p positions (generated by e2p editor). Files are unused a.t.m. | 2013-09-21 |
add files | 2013-09-18 |
shc_powerswitch (release)
20230729 release_v0.13.0-rc.1-0-gb18cbf0 | Download |
---|---|
Correct animation timer speed for Controller device (since it's running on 20 MHz and not 8 Mhz CPU clock). | 2023-05-28 |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in makefile. | 2023-05-11 |
Support display_backlight function in controller device. | 2023-05-09 |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
Extend max. virtual pages to 4. | 2023-04-20 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Modify the RFM12 reset / power pin logic in the power switch device. Since power is directly connected to the I/O pin, it needs to be changed. | 2023-04-16 |
Call new rfm12_send_wait_led function immediately when packets shall be sent. Use new rfm12_delay20 function and therefore speed up sending packets. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Update spaces in PowerSwitch Makefile. | 2022-10-03 |
Send status message when logical switch state changed. | 2022-09-23 |
Correct that only 2 relais states are set (only 8 bit available). | 2022-09-23 |
Fix calculation of version_status_cycle. | 2022-09-22 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Put also the relais state as a result from (requested) command state, physical switch state and switch delay, into the digitalporttimeout message. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
Fix missing breaks in switch-case statement for SWITCHMODE function of powerswitch. | 2022-09-16 |
20220906 release_v0.12.0-rc.1-0-ga8c1fc0 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Send status of manual switches also when status is sent (not only in the Ack). | 2019-08-10 |
Read state of manual switch (if configured) and update relais state accordingly. | 2019-08-09 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
Calculate relais state out or cmd state and switch state. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Read new switch mode from e2p. | 2019-08-08 |
Fix trailing spaces. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Added defines for additional manual switch. | 2019-08-08 |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20151212 release_v0.11.0-rc.1-0-g3042e25 | Download |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Update comment. | 2015-09-30 |
Increase delay for reset / power down time. | 2015-09-27 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
20150502 release_v0.10.0-rc.1-0-g39b1b02 | Download |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150221 release_v0.9.0-rc.3-0-ga4771bd | Download |
Fix writing timeout value of 0 to e2p when timeout was counted down completely. The power switch was toggling state again after timeout after power loss even if this was not intended. (Thanks to wurststulle for the bug report.) | 2015-02-21 |
20150208 release_v0.9.0-rc.1-0-ga724183 | Download |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Updated header files with corrected wake-up values. | 2015-01-11 |
Send error Ack when MessageID is not supported. This is to reduce traffic (and react according spec). Without this function, the e.g. BaseStation would retry the "Set" request and produce more traffic if a request is not supported by a device. | 2015-01-04 |
Rename functions from "...version..." to "...deviceinfo..." according to the message name. | 2015-01-04 |
Remove debug output. | 2015-01-04 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
Fix receiver ID range to 16 bits. | 2015-01-03 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
Limit number of switches as defined when preparing message to send. | 2014-10-09 |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Check relais number to switch and ignore call when number higher than relais count. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
Implement support for digitalpin and digitalpintimeout messages. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support up to 6 switches in power switch. Use new messages DigitalPort(Timeout) / DigitalPin(Timeout) (partly implemented). | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
20140916 release_v0.8.0-rc.1-0-gfe3f648 | Download |
Add generated e2p layout header. | 2014-09-16 |
Implement color animation (not working completely yet). React on ColorAnimation message. Send cyclic status. | 2014-08-17 |
Change Debug message to reduce duplicate info. | 2014-08-03 |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Fix unit test to run without avr lib. | 2014-07-21 |
Add color animation message, using the new "structured array". | 2014-07-21 |
Support color message. | 2014-07-20 |
Remove unused file. | 2014-07-20 |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Support brightness factor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
20140710 release_v0.7.0-rc.1-0-g309c9d6 | Download |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
Commented out resetting the wake-up timer when sending data with the RFM12 module. Waking up in fixed intervals is what's expected in the EnvSensor. | 2014-06-27 |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
typo corrected | 2014-06-24 |
Add Up/Down to OnChange DI pin watching | 2014-06-24 |
rename e2p values | 2014-06-15 |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Support configurable wake-up time. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
Fix: Change device_id type to uint16_t (to support values > 255). | 2014-06-11 |
Remove / move include statements. | 2014-06-10 |
Use enum type instead of integer type in function signature. | 2014-06-10 |
Include needed header file. | 2014-06-10 |
cosmetic | 2014-06-10 |
Add header file for GPIO message group. | 2014-05-11 |
Add support for digital pins in the envsensor. | 2014-05-11 |
Add SRF02 (ultrasonic range sensor) support, incl. voltage converter switching at PD5. | 2014-05-06 |
20140506 release_v0.6.0-rc.1-0-g8900514 | Download |
Add separate functions for measuring values and for preparing a message to send. Send one message whenever an average threshold is reached. Use new message groups "weather" and "environment". Support barometric pressure message. | 2014-04-26 |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
SRF02: Add config options for SRF02 | 2014-03-31 |
Make switch state and timeout persistent against power loss. | 2014-03-25 |
Add configuration options for BMP085 | 2014-03-25 |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Update generated header files. | 2014-03-23 |
Use new e2p layout in powerswitch firmware. | 2014-03-23 |
add flash script for linux | 2014-03-15 |
correct calculation of negative values in e2p/array access function | 2014-03-11 |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
20140224 release_v0.4.0-rc.1-0-g2feca00 | Download |
Rename rfm12_sendbuf function to rfm12_send_bufx, which better represents a function name and also tells that bufx is the buffer used in the function. | 2014-02-23 |
Fix using timeout correctly even when switch state is already as requested. | 2014-02-23 |
Remove sendbuf and use cmdbuf from main loop directly, thus removing one unnecessary buffer. | 2014-02-23 |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
Use avr-gcc names for integer variables and functions instead of C naming. | 2014-02-16 |
Make functions static to save a little flash size. | 2014-02-16 |
Add cleanbuild target to makefile. Change memory info format to the AVR specific one. | 2014-02-16 |
Split up of util lib into util_hw.c|h and util_generic.c|h. | 2014-02-16 |
Move hex_to_uint... functions from uart to util lib. | 2014-02-16 |
Move print_signed and print_bytearray to uart module. | 2014-02-16 |
Use (signed) int value in firmware for OSCCAL value. | 2014-02-14 |
add missing UInt e2p access function | 2014-02-12 |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
move include statement | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
add define for header file | 2014-02-08 |
fix cbc decryption | 2014-02-08 |
avoid clash with definitions in inttypes.h by using it in aes256.h instead of using own declaration | 2014-02-08 |
correct battery percentage calculation in tempsensor depending on used sensor | 2014-02-02 |
Use separate e2p header files in every device and in util module instead of the old header files. Add initial compilable source code for thermostat device. | 2014-01-26 |
beautify if statement in makefile | 2014-01-18 |
Merge branch 'GoHoHa-master' into develop | 2014-01-18 |
Merge branch 'master' of https://github.com/GoHoHa/smarthomatic into GoHoHa-master | 2014-01-18 |
added skeleton for thermostat HR25 | 2013-11-06 |
Typo change "RFM12" | 2013-11-04 |
20140118 release_v0.3.0-rc.1-0-gc639872 | Download |
move function inc_packetcounter to util file and use it everywhere | 2014-01-18 |
don't send status so often | 2014-01-17 |
move common function rfm12_sendbuf to util | 2014-01-16 |
rename function printSigned to print_signed | 2014-01-16 |
move function print_bytearray to util module | 2014-01-16 |
use bool parameter instead of int | 2014-01-16 |
rename function | 2014-01-16 |
print out OSCCAL info (if UART debugging active) | 2014-01-16 |
Reorder functions. Rename internal functions. | 2014-01-16 |
add powerswitch in flash script | 2014-01-16 |
update default e2p file | 2014-01-15 |
correct calculation of packets when they don't have message data | 2014-01-06 |
correct reaction on SET, GET and SETGET message types | 2014-01-06 |
support new packet format in dimmer | 2014-01-06 |
check eeprom compatibility at startup | 2014-01-06 |
Show switch state with LED. Let LED blink if timeout is set. | 2014-01-06 |
add button support for manual switching | 2014-01-06 |
use ATMega328 for power switch to allow more features and debugging output | 2014-01-06 |
correct limiting of signed integer values after reading from byte array | 2014-01-05 |
beautify debug output | 2014-01-05 |
support request queue for sending requests with new packet format | 2014-01-05 |
support new packet format in basestation (without request queue) | 2014-01-04 |
optimize debug output | 2014-01-04 |
add OSCCAL support | 2014-01-04 |
updated header files | 2014-01-01 |
Bugfix for eeprom/array read function. Unused upper bits were not cleared, resulting in wrong return values sometimes. | 2014-01-01 |
initial implementation for support of new packet format in powerswitch | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
Set UART_DEBUG and UART_RX defines in makefile instead of main source code file. Remove ifdefs for UART debugging and let the compiler remove unused calls when defines are not set to simplify source code. | 2013-12-31 |
use new generated functions in tempsensor device | 2013-12-31 |
simplify int access function | 2013-12-31 |
add generated header files | 2013-12-31 |
use new packet format in temp sensor | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
Merge pull request #36 from Inhumierer/develop Update util.c | 2013-11-26 |
Update util.c Fixed typo in PrintSigned | 2013-11-23 |
use pin PC0 for relais / transistor | 2013-11-16 |
use 8 Mhz at power switch | 2013-11-16 |
set correct MCU for flashing fuses | 2013-11-16 |
Merge branch 'release-v0.2.0' into develop | 2013-11-12 |
Merge branch 'develop' of https://github.com/Inhumierer/smarthomatic into develop | 2013-11-12 |
Update util.c | 2013-11-12 |
Update util.h | 2013-11-12 |
20131113 release_v0.2.0-rc.3-0-gb499f61 | Download |
fix severe bug that the old EEPROM position was used to write the packetcounter | 2013-11-12 |
20131106 release_v0.2.0-rc.1-0-g93d6114 | Download |
shc_powerswitch (master)
20230730 master_v0.13.0-0-g278c0ec | Download |
---|---|
TAG: *General:* Support "deliver" message to ensure that the base station received a message sent by a device (used by controller device). Support 64 byte packets. Support ATMega1284 and 4kB e2p. Improve collision detection timing. *Controller:* New device which acts as user interface. Supports LCD text display, RGB LED, speaker and buttons to navigate through a menu with options defined in e2p. Can be used as control interface for smart home functions. *Powerswitch:* Support for On/Off delay that is used when a status change is triggered by the optional switch. Put relais state into status message. Fix version status cycle. *RGB Dimmer:* HW break! Pins for RGB LEDs changed to have common source code with controller device. Support "tone" and "melody" message to play (warning) melodies / alerts. *FHEM:* Update modules to be used with new controller device. Use default baud rate of 115200. Avoid "require" keyword and "given/when". | 2024-04-25 |
Correct animation timer speed for Controller device (since it's running on 20 MHz and not 8 Mhz CPU clock). | 2023-05-28 |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in makefile. | 2023-05-11 |
Support display_backlight function in controller device. | 2023-05-09 |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
Extend max. virtual pages to 4. | 2023-04-20 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Modify the RFM12 reset / power pin logic in the power switch device. Since power is directly connected to the I/O pin, it needs to be changed. | 2023-04-16 |
Call new rfm12_send_wait_led function immediately when packets shall be sent. Use new rfm12_delay20 function and therefore speed up sending packets. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Update spaces in PowerSwitch Makefile. | 2022-10-03 |
Send status message when logical switch state changed. | 2022-09-23 |
Correct that only 2 relais states are set (only 8 bit available). | 2022-09-23 |
Fix calculation of version_status_cycle. | 2022-09-22 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Put also the relais state as a result from (requested) command state, physical switch state and switch delay, into the digitalporttimeout message. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
Fix missing breaks in switch-case statement for SWITCHMODE function of powerswitch. | 2022-09-16 |
20220906 master_v0.12.0-0-gec025f0 | Download |
TAG: EnvSensor: Support ParticulateMatter sensor. Support FloatValue type in e2p. Add tea maker project (currently not being worked on). Add shutter control HW. Generic maxi speed 1.2 introduces transistor to switch RFM module on/off. Support transceiver timeout to restart RFM12 if needed. Allow to edit strings as array in e2p editor. | 2024-04-25 |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Send status of manual switches also when status is sent (not only in the Ack). | 2019-08-10 |
Read state of manual switch (if configured) and update relais state accordingly. | 2019-08-09 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
Calculate relais state out or cmd state and switch state. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Read new switch mode from e2p. | 2019-08-08 |
Fix trailing spaces. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Added defines for additional manual switch. | 2019-08-08 |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20160103 master_v0.11.0-0-gfa208fc | Download |
TAG: Increase stability of devices which send and receive and have sporadic hangs of RFM module: Added configurable (optional) watchdog to reset ATMega and RFM12B when nothing is received some time. Add HardwareError message to FHEM parser to log the error cases. Update Soil Moisture Meter PCB (V1.2) with 6-pin ISP connector including VCC pin. Update Dimmer PCB (V1.3), Power Switch PCB (V1.1), Generic Maxi Speed PCB (V1.1) by added VCC pin on ISP connector and/or connection of RFM power pin to an I/O pin for shutting it off in case of a hang. Added new Generic Micro 2 SMD PCB (V1.0) which is compatible to a Generic Midi and can be used as a smaller EnvSensor device. | 2024-04-25 |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Update comment. | 2015-09-30 |
Increase delay for reset / power down time. | 2015-09-27 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
20150517 master_v0.10.1-0-g9d85b61 | Download |
TAG: Hotfix for buggy CRC check with GCC 4.7.2 on linux (which my build robot uses under linux). | 2024-04-25 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
20150516 master_v0.10.0-0-g6ecdef6 | Download |
TAG: Speed up of communication to/from base station by supporting 115200 baud on UART and shortening strings. Reaction on a command over UART until encrypted packet is sent is now under 20ms! Add CRC32 at the end of the packet data string to secure sommunication from base station to PC (fhem). Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. Add SmoothingPercentage parameter to SoilMoistureMeter to smooth reported humidity values. | 2024-04-25 |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150301 master_v0.9.0-0-gec1ee4e | Download |
TAG: Add new device soil moisture meter (schematics, layout and firmware). Speed up encryption/decryption drastically by using other AES lib. Support additional sensors in EnvSensor: HTU21d (I2C, humidity + temperature), DS18S20/DS18B20 (1-wire, temperature). Reduce power consumption to ~1.8µA at EnvSensor by switching off BOD in sleep mode. Support DeviceInfo message (containing DeviceType + firmware version) at all devices. Send Error Ack for messages which are not supported at all devices. Several minor fixes. | 2024-04-25 |
Fix writing timeout value of 0 to e2p when timeout was counted down completely. The power switch was toggling state again after timeout after power loss even if this was not intended. (Thanks to wurststulle for the bug report.) | 2015-02-21 |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Updated header files with corrected wake-up values. | 2015-01-11 |
Send error Ack when MessageID is not supported. This is to reduce traffic (and react according spec). Without this function, the e.g. BaseStation would retry the "Set" request and produce more traffic if a request is not supported by a device. | 2015-01-04 |
Rename functions from "...version..." to "...deviceinfo..." according to the message name. | 2015-01-04 |
Remove debug output. | 2015-01-04 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
Fix receiver ID range to 16 bits. | 2015-01-03 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
Limit number of switches as defined when preparing message to send. | 2014-10-09 |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Check relais number to switch and ignore call when number higher than relais count. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
Implement support for digitalpin and digitalpintimeout messages. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support up to 6 switches in power switch. Use new messages DigitalPort(Timeout) / DigitalPin(Timeout) (partly implemented). | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
20140921 master_v0.8.0-0-gc0ed0c3 | Download |
TAG: Implement RGB dimmer firmware. Support Color and ColorAnimation message for an animation (fading) of several colors, using repeat and autoreverse parameters for different visual effects. BaseStation: Automatically truncate empty bytes in messages before sending. Fix sending packets > 16 bytes. Avoid request queue for broadcast requests. | 2024-04-25 |
Add generated e2p layout header. | 2014-09-16 |
Implement color animation (not working completely yet). React on ColorAnimation message. Send cyclic status. | 2014-08-17 |
Change Debug message to reduce duplicate info. | 2014-08-03 |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Fix unit test to run without avr lib. | 2014-07-21 |
Add color animation message, using the new "structured array". | 2014-07-21 |
Support color message. | 2014-07-20 |
Remove unused file. | 2014-07-20 |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Support brightness factor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
20140728 master_v0.7.0-0-g0e996cc | Download |
TAG: EnvSensor: add digital + analog input support, configurable wake-up / measuring times. Add support for SRF02 ultrasonic distance sensor. E2PEditor: Handling of default values for config options, incl. coloring of modified values. | 2024-04-25 |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
Commented out resetting the wake-up timer when sending data with the RFM12 module. Waking up in fixed intervals is what's expected in the EnvSensor. | 2014-06-27 |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
typo corrected | 2014-06-24 |
Add Up/Down to OnChange DI pin watching | 2014-06-24 |
rename e2p values | 2014-06-15 |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Support configurable wake-up time. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
Fix: Change device_id type to uint16_t (to support values > 255). | 2014-06-11 |
Remove / move include statements. | 2014-06-10 |
Use enum type instead of integer type in function signature. | 2014-06-10 |
Include needed header file. | 2014-06-10 |
cosmetic | 2014-06-10 |
Add header file for GPIO message group. | 2014-05-11 |
Add support for digital pins in the envsensor. | 2014-05-11 |
Add SRF02 (ultrasonic range sensor) support, incl. voltage converter switching at PD5. | 2014-05-06 |
20140610 master_v0.6.1-0-g19b1771 | Download |
TAG: HotFix: Copy request buffer indices correctly in request queue. This bug could lead to sending messages endlessly (only) in the case when there were more than 2 requests in a queue for one receiver and the requests were additionally not acknowledged. | 2024-04-25 |
20140515 master_v0.6.0-0-gf49d8af | Download |
TAG: Support for I2C. Support for temp sensor DS7505. Support for barometric pressure sensor BMP085. FHEM support. Support for array structures in e2p definitions and packets (used in base station and power switch e2p layout). Renamed "tempsensor" to "envsensor", which also requires an ATMega328. e2p editor remembers flash command line. | 2024-04-25 |
Add separate functions for measuring values and for preparing a message to send. Send one message whenever an average threshold is reached. Use new message groups "weather" and "environment". Support barometric pressure message. | 2014-04-26 |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
SRF02: Add config options for SRF02 | 2014-03-31 |
Make switch state and timeout persistent against power loss. | 2014-03-25 |
Add configuration options for BMP085 | 2014-03-25 |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Update generated header files. | 2014-03-23 |
Use new e2p layout in powerswitch firmware. | 2014-03-23 |
add flash script for linux | 2014-03-15 |
correct calculation of negative values in e2p/array access function | 2014-03-11 |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
20140309 master_v0.5.0-0-g6adbdc0 | Download |
TAG: Use ATMega328 for TempSensor. Everything else is identical to v0.4.0. | 2024-04-25 |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
20140302 master_v0.4.0-0-gb07c72b | Download |
TAG: The generated e2p access functions are improved to allow simpler use. Signed ints are now supported as e2p values. All firmwares built by the build robot now contain a version number compiled into the firmware. The version is sent by each device about once a day. | 2024-04-25 |
Rename rfm12_sendbuf function to rfm12_send_bufx, which better represents a function name and also tells that bufx is the buffer used in the function. | 2014-02-23 |
Fix using timeout correctly even when switch state is already as requested. | 2014-02-23 |
Remove sendbuf and use cmdbuf from main loop directly, thus removing one unnecessary buffer. | 2014-02-23 |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
Use avr-gcc names for integer variables and functions instead of C naming. | 2014-02-16 |
Make functions static to save a little flash size. | 2014-02-16 |
Add cleanbuild target to makefile. Change memory info format to the AVR specific one. | 2014-02-16 |
Split up of util lib into util_hw.c|h and util_generic.c|h. | 2014-02-16 |
Move hex_to_uint... functions from uart to util lib. | 2014-02-16 |
Move print_signed and print_bytearray to uart module. | 2014-02-16 |
Use (signed) int value in firmware for OSCCAL value. | 2014-02-14 |
add missing UInt e2p access function | 2014-02-12 |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
move include statement | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
add define for header file | 2014-02-08 |
fix cbc decryption | 2014-02-08 |
avoid clash with definitions in inttypes.h by using it in aes256.h instead of using own declaration | 2014-02-08 |
correct battery percentage calculation in tempsensor depending on used sensor | 2014-02-02 |
Use separate e2p header files in every device and in util module instead of the old header files. Add initial compilable source code for thermostat device. | 2014-01-26 |
beautify if statement in makefile | 2014-01-18 |
Merge branch 'GoHoHa-master' into develop | 2014-01-18 |
Merge branch 'master' of https://github.com/GoHoHa/smarthomatic into GoHoHa-master | 2014-01-18 |
added skeleton for thermostat HR25 | 2013-11-06 |
Typo change "RFM12" | 2013-11-04 |
20140201 master_v0.3.0-0-gac61e5c | Download |
TAG: Update of the packet format as described on the homepage. Functions to access the packet data fields easily in the firmware are generated from the packet_layout.xml definition. The code generator is included in the E2P editor. Six message types are defined to support all needed communication sequences. The new packet format also supports more devices (4096 instead of 256). Firmware includes support of the new functions/packet format in all four devices. | 2024-04-25 |
move function inc_packetcounter to util file and use it everywhere | 2014-01-18 |
don't send status so often | 2014-01-17 |
move common function rfm12_sendbuf to util | 2014-01-16 |
rename function printSigned to print_signed | 2014-01-16 |
move function print_bytearray to util module | 2014-01-16 |
use bool parameter instead of int | 2014-01-16 |
rename function | 2014-01-16 |
print out OSCCAL info (if UART debugging active) | 2014-01-16 |
Reorder functions. Rename internal functions. | 2014-01-16 |
add powerswitch in flash script | 2014-01-16 |
update default e2p file | 2014-01-15 |
correct calculation of packets when they don't have message data | 2014-01-06 |
correct reaction on SET, GET and SETGET message types | 2014-01-06 |
support new packet format in dimmer | 2014-01-06 |
check eeprom compatibility at startup | 2014-01-06 |
Show switch state with LED. Let LED blink if timeout is set. | 2014-01-06 |
add button support for manual switching | 2014-01-06 |
use ATMega328 for power switch to allow more features and debugging output | 2014-01-06 |
correct limiting of signed integer values after reading from byte array | 2014-01-05 |
beautify debug output | 2014-01-05 |
support request queue for sending requests with new packet format | 2014-01-05 |
support new packet format in basestation (without request queue) | 2014-01-04 |
optimize debug output | 2014-01-04 |
add OSCCAL support | 2014-01-04 |
updated header files | 2014-01-01 |
Bugfix for eeprom/array read function. Unused upper bits were not cleared, resulting in wrong return values sometimes. | 2014-01-01 |
initial implementation for support of new packet format in powerswitch | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
Set UART_DEBUG and UART_RX defines in makefile instead of main source code file. Remove ifdefs for UART debugging and let the compiler remove unused calls when defines are not set to simplify source code. | 2013-12-31 |
use new generated functions in tempsensor device | 2013-12-31 |
simplify int access function | 2013-12-31 |
add generated header files | 2013-12-31 |
use new packet format in temp sensor | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
Merge pull request #36 from Inhumierer/develop Update util.c | 2013-11-26 |
Update util.c Fixed typo in PrintSigned | 2013-11-23 |
use pin PC0 for relais / transistor | 2013-11-16 |
use 8 Mhz at power switch | 2013-11-16 |
set correct MCU for flashing fuses | 2013-11-16 |
Merge branch 'release-v0.2.0' into develop | 2013-11-12 |
Merge branch 'develop' of https://github.com/Inhumierer/smarthomatic into develop | 2013-11-12 |
Update util.c | 2013-11-12 |
Update util.h | 2013-11-12 |
20131117 master_v0.2.0-0-g00adbec | Download |
TAG: v0.2.0 supports the new EEPROM layout as also used in the EEPROM editor. These are other main changes: - fix problem with E2P editor and Java7 - fix several E2P editor error messages and improve handling - use fixed JAR filename for E2P editor - set BODLEVEL for all devices (under voltage detection) - add E2P and array acces functions for read/write of specific parts inside bigger blocks - add "unit test" file to test access functions, can be extended later for other tests | 2024-04-25 |
fix severe bug that the old EEPROM position was used to write the packetcounter | 2013-11-12 |
correct comment | 2013-11-03 |
set BODLEVEL fuse | 2013-11-03 |
add more e2p default files (according new layout) | 2013-11-03 |
support new e2p layout in powerswitch | 2013-10-27 |
read OSCCAL mode using new E2P access function | 2013-10-26 |
add e2p compatibility check, read e2p values for deviceID, packetCounter, AES key position according E2P layout | 2013-10-26 |
add access to arrays to former eeprom access functions | 2013-10-26 |
make function signature C conform | 2013-10-14 |
add e2p access functions (not used in firmware currently) with working unit test | 2013-10-13 |
add error function that lets the LED blink forever | 2013-10-13 |
Use device specific E2P layout in base station. | 2013-10-12 |
Remove ifdefs in temp sensor code. Use E2P values instead. Use E2P values in util.h and include device specific e2p definition there. | 2013-10-12 |
20131004 master_v0.1.1-0-ga263f2f | Download |
TAG: Updated and working version with corrected fuse settings, but old EEPROM and package format. | 2024-04-25 |
Autodetect microcontroller type in flash script. | 2013-10-04 |
Add flash batch files for Windows and move readme to common "extra" directory. | 2013-10-04 |
Correct makefile command to write fuse bytes into binary files. It was working on Windows, but not Linux. | 2013-10-04 |
Merge branch 'master' of https://github.com/Inhumierer/smarthomatic into develop | 2013-10-03 |
Using avrdude raw option for writing e2p file is the better choice than autodetection. | 2013-10-03 |
Add info about how to flash your ATMega in README. | 2013-10-03 |
Create binary files for fuses, because these are supported by avrdude (and text files with hex strings are not). | 2013-10-03 |
Remove avrdude options from makefile. User should create a avrdude.rc / ~/.avrduderc with options. | 2013-10-03 |
Update uart.h typo corrected | 2013-10-03 |
Add readme for building binary packages. | 2013-10-01 |
add fuses.c files to editor project file | 2013-09-25 |
use .org domain | 2013-09-22 |
20130925 master_v0.1-0-g0697553 | Download |
TAG: stable version with initial eeprom and message format | 2024-04-25 |
shc_controller (develop)
20240421 develop_v0.13.0-1-ge40fd24 | Download |
---|---|
Auto-increment line (y pos) when the width of the LCD is reached. This saves to send an explicit newline character to go to the next line and allows to send two full lines (2x20 characters) on a small display in one message. | 2024-04-20 |
20230729 develop_v0.10.1-248-g8b230f4 | Download |
shc_controller (release)
20230729 release_v0.13.0-rc.1-0-gb18cbf0 | Download |
---|
shc_controller (master)
20230730 master_v0.13.0-0-g278c0ec | Download |
---|---|
TAG: *General:* Support "deliver" message to ensure that the base station received a message sent by a device (used by controller device). Support 64 byte packets. Support ATMega1284 and 4kB e2p. Improve collision detection timing. *Controller:* New device which acts as user interface. Supports LCD text display, RGB LED, speaker and buttons to navigate through a menu with options defined in e2p. Can be used as control interface for smart home functions. *Powerswitch:* Support for On/Off delay that is used when a status change is triggered by the optional switch. Put relais state into status message. Fix version status cycle. *RGB Dimmer:* HW break! Pins for RGB LEDs changed to have common source code with controller device. Support "tone" and "melody" message to play (warning) melodies / alerts. *FHEM:* Update modules to be used with new controller device. Use default baud rate of 115200. Avoid "require" keyword and "given/when". | 2024-04-25 |
shc_envsensor (develop)
20230415 develop_v0.10.1-207-gc2b24f8 | Download |
---|---|
Switch off UART_DEBUG as default in EnvSensor. Somehow it was on by mistake. | 2023-04-14 |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
20230306 develop_v0.10.1-172-gd2c1951 | Download |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
20230130 develop_v0.10.1-148-g6117b55 | Download |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20211109 develop_v0.10.1-111-gfd16790 | Download |
20191118 develop_v0.10.1-111-gfd16790 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
20191117 develop_v0.10.1-110-g23b294b | Download |
Fix makefile to consider sps30. | 2019-11-16 |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
20191027 develop_v0.10.1-92-gc1ef1b9 | Download |
Bugfix: Fix support for more than one analog pin. The averaging function was changing the measured value to 0 for all pins except the first one. | 2019-10-26 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
20180318 develop_v0.10.1-72-g66baf5e | Download |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Add possibility to override onewire port configuration. | 2016-04-10 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20151030 develop_v0.10.1-34-g0578486 | Download |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
20150622 develop_v0.10.1-16-g1d2ec9d | Download |
Update default e2p files to current layout. | 2015-06-22 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
Correct project file (WinAVR). | 2015-06-21 |
20150607 develop_v0.10.1-7-g98d388f | Download |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
Correct description. | 2015-05-23 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
20150416 develop_v0.9.0-rc.5-47-g8f5b2e0 | Download |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
20150307 develop_v0.9.0-rc.5-30-gae9c9a6 | Download |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150301 develop_v0.9.0-rc.5-9-gc173af6 | Download |
Minor code beautification. Add line break. | 2015-02-28 |
envsensor: init i2c when only temperature is used | 2015-02-28 |
20150208 develop_v0.7.0-rc.1-145-g9768f76 | Download |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Fix calculation of negative temperatures with DS18B20 sensor. | 2015-02-07 |
20150202 develop_v0.7.0-rc.1-143-g9df91ff | Download |
Support DS18B20. | 2015-02-01 |
20150112 develop_v0.7.0-rc.1-139-g428fc33 | Download |
Updated header files with corrected wake-up values. | 2015-01-11 |
Describe wake-up values in comment correctly. | 2015-01-11 |
20150105 develop_v0.7.0-rc.1-132-g2e5d5de | Download |
Rename functions from "...version..." to "...deviceinfo..." according to the message name. | 2015-01-04 |
Enable global interrupts while measurement is running. Change measurement time to 800ms. Check status of 1-wire reset. | 2015-01-04 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
20150104 develop_v0.7.0-rc.1-126-g9e692df | Download |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
20141117 develop_v0.7.0-rc.1-117-gaafd1c8 | Download |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
20141026 develop_v0.7.0-rc.1-114-gbaa2906 | Download |
Fix: Reset measurement counter after sending DigitalPort message. | 2014-10-25 |
Don't send other message (e.g. temperature) on pin wake-up. Send either DigitalPort message (if trigger fired as configured) or no message. | 2014-10-25 |
Remember DI state right before going to power down to not miss any "button press" (if a button is connected to a digital input). | 2014-10-14 |
20141014 develop_v0.7.0-rc.1-109-g0355e0a | Download |
Fix configuration of the internal pull-up resistors. | 2014-10-13 |
20141010 develop_v0.7.0-rc.1-108-g563a108 | Download |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
Correct using the right message ID (DigitalPort instead of DigitalPin). | 2014-10-09 |
20141007 develop_v0.7.0-rc.1-101-g8e8903c | Download |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
20141005 develop_v0.7.0-rc.1-100-ga92a9e7 | Download |
Change back battery measuring interval to correct value. | 2014-10-04 |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
20141004 develop_v0.7.0-rc.1-89-g3a7160e | Download |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
20140928 develop_v0.7.0-rc.1-78-g85f7def | Download |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
Add generated e2p layout header. | 2014-09-16 |
Implement color animation (not working completely yet). React on ColorAnimation message. Send cyclic status. | 2014-08-17 |
20140727 develop_v0.7.0-rc.1-27-gafc0018 | Download |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Fix unit test to run without avr lib. | 2014-07-21 |
Add color animation message, using the new "structured array". | 2014-07-21 |
Support color message. | 2014-07-20 |
Remove unused file. | 2014-07-20 |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Support brightness factor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
20140706 develop_v0.5.0-213-gda643fa | Download |
Use variable value and avoid reading value from e2p a 2nd time. | 2014-07-05 |
20140629 develop_v0.5.0-206-g139bd55 | Download |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
Add trigger function for AnalogInput. | 2014-06-28 |
20140628 develop_v0.5.0-202-g46d3e24 | Download |
Fix: send DigitalInput status after the AveragingInterval is reached in any case. | 2014-06-27 |
Use di[i].pin instead of di[i].port to check if the DigitalPin is unused (same as with AnalogPins). | 2014-06-27 |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
Commented out resetting the wake-up timer when sending data with the RFM12 module. Waking up in fixed intervals is what's expected in the EnvSensor. | 2014-06-27 |
20140625 develop_v0.5.0-197-gd0bcd85 | Download |
Merge two if statements. | 2014-06-24 |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
typo corrected | 2014-06-24 |
Add Up/Down to OnChange DI pin watching | 2014-06-24 |
20140617 develop_v0.5.0-191-g1eab4a0 | Download |
Reduce idle power consumption to about 21µA by connecting the pull-up resistors for the battery voltage and photocell to a separate pin (PB6) that is switched on only when measuring. | 2014-06-16 |
20140616 develop_v0.5.0-190-gfad02fd | Download |
optimize debug output | 2014-06-15 |
Add measuring counter to struct measurement_t. Use functions to count measurement interval and calculate the average value. | 2014-06-15 |
rename variable | 2014-06-15 |
rename variables | 2014-06-15 |
rename e2p values | 2014-06-15 |
20140615 develop_v0.5.0-185-g42629fa | Download |
Correct calculation of measurement cycle for distance sensor. | 2014-06-14 |
Avoid sensing messages about values that were never measured. | 2014-06-14 |
Update default e2p file. | 2014-06-14 |
Use measuring intervals and averaging counts in firmware. | 2014-06-14 |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Support configurable wake-up time. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
20140612 develop_v0.5.0-174-g4e55434 | Download |
Fix: Change device_id type to uint16_t (to support values > 255). | 2014-06-11 |
Remove / move include statements. | 2014-06-10 |
Use enum type instead of integer type in function signature. | 2014-06-10 |
Include needed header file. | 2014-06-10 |
cosmetic | 2014-06-10 |
20140606 develop_v0.5.0-167-ga39a990 | Download |
Wait for stable voltage level only if pull-ups were switched on now. | 2014-06-05 |
Use sbi macro as everywhere. | 2014-06-05 |
Distinguish wake-up by pin change and RFM12B wake-up to ensure usual measuring interval for other sensors on pin change. | 2014-06-05 |
Use PCI for immediate response on pins watched Use the Pin Change Interrupts to wake up uC when a watched pin changes the state during sleep mode. If using PCI, don't switch off the pullup resistors. | 2014-05-29 |
20140526 develop_v0.5.0-132-g219892d | Download |
Set DIDR0 for ADC channels, switch off digital input buffers to reduce ADC noise and to save power. | 2014-05-25 |
Switch on pull up resistor for digital pins only when measuring to reduce power consumption. | 2014-05-25 |
add header define | 2014-05-25 |
20140511 develop_v0.5.0-127-g1e35889 | Download |
Add header file for GPIO message group. | 2014-05-11 |
DigitalPin send cycle: Send every 7 min. in cycle mode. Send immediately in "OnChange" mode and after 28 min. | 2014-05-11 |
send out digital pin status directly after power up | 2014-05-11 |
Add support for digital pins in the envsensor. | 2014-05-11 |
20140507 develop_v0.5.0-110-gada1ea5 | Download |
Remap SHT15 SCL pin from PC4 to PC2 to avoid problems with I2C. | 2014-05-06 |
Add SRF02 (ultrasonic range sensor) support, incl. voltage converter switching at PD5. | 2014-05-06 |
20140503 develop_v0.5.0-106-g123966d | Download |
Support SHT15 in parallel to I2C sensors. Correct calculation of average values before sending. | 2014-05-02 |
20140427 develop_v0.5.0-91-g2f1d533 | Download |
revert measurement interval | 2014-04-26 |
correct calculation of humidity | 2014-04-26 |
beautify code | 2014-04-26 |
Add separate functions for measuring values and for preparing a message to send. Send one message whenever an average threshold is reached. Use new message groups "weather" and "environment". Support barometric pressure message. | 2014-04-26 |
20140406 develop_v0.5.0-38-gc24ce15 | Download |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
SRF02: Enable SRF02 in envsensor | 2014-03-31 |
SRF02: Add config options for SRF02 | 2014-03-31 |
SRF02: Add driver files | 2014-03-31 |
Update license information | 2014-03-31 |
Adapt BMP085 driver to new i2c interface Right now the barometric pressure data is not included in the sensor message because after including the additional bytes the CRC check failed in the basestation. In the current develop branch is ongoing work to redefine the message format, after finalizing I'm happy to add a patch to adapt it. The barometric pressure data can be seen on the temperature sensor debug port (just #define UART_DEBUG and recompile). Code size: text data bss dec hex BMP085: 12626 289 544 13459 3493 v0.2.0: 10260 289 509 11058 2b32 Conflicts: firmware/shc_envsensor/shc_envsensor.c | 2014-03-31 |
Enable barometric sensor | 2014-01-18 |
Add configuration options for BMP085 | 2014-03-25 |
Add BMP085 driver files | 2014-03-25 |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Update generated header files. | 2014-03-23 |
Use new e2p layout in powerswitch firmware. | 2014-03-23 |
20140316 develop_v0.4.0-rc.1-13-gfe83608 | Download |
add flash script for linux | 2014-03-15 |
20140311 develop_v0.4.0-rc.1-11-gd863310 | Download |
use e2p/array access function in lm75 driver | 2014-03-11 |
correct calculation of negative values in e2p/array access function | 2014-03-11 |
20140309 develop_v0.4.0-rc.1-9-g449cbe2 | Download |
Move lm75_get_meas_time_ms function to header file and change to static inline to 1) avoid compile error under linux ("expects a compile time integer constant") and 2) save some flash size (~130 bytes). | 2014-03-09 |
rename e2p file | 2014-03-09 |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
20140309 develop_v0.4.0-rc.1-5-geb18bba | Download |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
20140309 develop_v0.4.0-rc.1-3-gd84432d | Download |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
change default e2p to 1024 bytes size | 2014-03-09 |
20140309 develop_v0.4.0-rc.1-1-g2759da9 | Download |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
Rename rfm12_sendbuf function to rfm12_send_bufx, which better represents a function name and also tells that bufx is the buffer used in the function. | 2014-02-23 |
Remove sendbuf and use cmdbuf from main loop directly, thus removing one unnecessary buffer. | 2014-02-23 |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
20140217 develop_v0.3.0-rc.1-41-ga4931ca | Download |
Use avr-gcc names for integer variables and functions instead of C naming. | 2014-02-16 |
Make functions static to save a little flash size. | 2014-02-16 |
20140216 develop_v0.3.0-rc.1-39-gdb2e3fd | Download |
Add cleanbuild target to makefile. Change memory info format to the AVR specific one. | 2014-02-16 |
Split up of util lib into util_hw.c|h and util_generic.c|h. | 2014-02-16 |
Move hex_to_uint... functions from uart to util lib. | 2014-02-16 |
Move print_signed and print_bytearray to uart module. | 2014-02-16 |
20140215 develop_v0.3.0-rc.1-35-g7f1d2da | Download |
Use (signed) int value in firmware for OSCCAL value. | 2014-02-14 |
20140212 develop_v0.3.0-rc.1-33-g9c70cc8 | Download |
add missing UInt e2p access function | 2014-02-12 |
20140210 develop_v0.3.0-rc.1-30-gcb53db0 | Download |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
move include statement | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
20140209 develop_v0.3.0-rc.1-24-gc67c8c9 | Download |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
add define for header file | 2014-02-08 |
fix cbc decryption | 2014-02-08 |
avoid clash with definitions in inttypes.h by using it in aes256.h instead of using own declaration | 2014-02-08 |
20140203 develop_v0.3.0-rc.1-19-gfa9e967 | Download |
correct battery percentage calculation in tempsensor depending on used sensor | 2014-02-02 |
Use separate e2p header files in every device and in util module instead of the old header files. Add initial compilable source code for thermostat device. | 2014-01-26 |
beautify if statement in makefile | 2014-01-18 |
Merge branch 'GoHoHa-master' into develop | 2014-01-18 |
Merge branch 'master' of https://github.com/GoHoHa/smarthomatic into GoHoHa-master | 2014-01-18 |
added skeleton for thermostat HR25 | 2013-11-06 |
Typo change "RFM12" | 2013-11-04 |
20140118 develop_v0.2.0-76-gafdf34d | Download |
move function inc_packetcounter to util file and use it everywhere | 2014-01-18 |
don't send status so often | 2014-01-17 |
20140117 develop_v0.2.0-65-g64fe766 | Download |
move common function rfm12_sendbuf to util | 2014-01-16 |
rename function printSigned to print_signed | 2014-01-16 |
move function print_bytearray to util module | 2014-01-16 |
use bool parameter instead of int | 2014-01-16 |
rename function | 2014-01-16 |
print out OSCCAL info (if UART debugging active) | 2014-01-16 |
Reorder functions. Rename internal functions. | 2014-01-16 |
add powerswitch in flash script | 2014-01-16 |
20140107 develop_v0.2.0-53-gc2dc11e | Download |
correct calculation of packets when they don't have message data | 2014-01-06 |
support new packet format in dimmer | 2014-01-06 |
change LED blink pattern at startup | 2014-01-06 |
20140106 develop_v0.2.0-43-g1dda5f2 | Download |
correct limiting of signed integer values after reading from byte array | 2014-01-05 |
correct calculation of humidity value | 2014-01-05 |
support request queue for sending requests with new packet format | 2014-01-05 |
20140105 develop_v0.2.0-39-gbd2cda2 | Download |
support new packet format in basestation (without request queue) | 2014-01-04 |
20140102 develop_v0.2.0-35-g0d87767 | Download |
updated header files | 2014-01-01 |
Bugfix for eeprom/array read function. Unused upper bits were not cleared, resulting in wrong return values sometimes. | 2014-01-01 |
initial implementation for support of new packet format in powerswitch | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
20140101 develop_v0.2.0-28-gb080f33 | Download |
Set UART_DEBUG and UART_RX defines in makefile instead of main source code file. Remove ifdefs for UART debugging and let the compiler remove unused calls when defines are not set to simplify source code. | 2013-12-31 |
use new generated functions in tempsensor device | 2013-12-31 |
simplify int access function | 2013-12-31 |
add generated header files | 2013-12-31 |
20131206 develop_v0.2.0-21-gb85f684 | Download |
use new packet format in temp sensor | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
Merge pull request #36 from Inhumierer/develop Update util.c | 2013-11-26 |
Update util.c Fixed typo in PrintSigned | 2013-11-23 |
set correct MCU for flashing fuses | 2013-11-16 |
20131113 develop_v0.2.0-rc.3-8-ge04ad3a | Download |
Merge branch 'develop' of https://github.com/Inhumierer/smarthomatic into develop | 2013-11-12 |
Update shc_tempsensor.c | 2013-11-12 |
Update shc_tempsensor.c | 2013-11-12 |
Update util.c | 2013-11-12 |
Update util.h | 2013-11-12 |
20131104 develop_v0.1.1-37-g0d81754 | Download |
correct comment | 2013-11-03 |
correct comment | 2013-11-03 |
Merge branch 'bod' of https://github.com/Inhumierer/smarthomatic into Inhumierer-bod | 2013-11-03 |
use deviceID 20 (same as devicetype) as default | 2013-11-03 |
tempsensor e2p file device id set to 20 (0x14) - was 0x0, giving error signal | 2013-11-03 |
BOD level fuses at basestation and tempsensor | 2013-11-03 |
20131028 develop_v0.1.1-23-g3645da1 | Download |
cleanup: remove unnecessary cast | 2013-10-27 |
20131027 develop_v0.1.1-21-gfed23ae | Download |
set measure timeout back to normal value | 2013-10-26 |
read OSCCAL mode using new E2P access function | 2013-10-26 |
support E2P positions as defined in new e2p layout | 2013-10-26 |
add e2p compatibility check, read e2p values for deviceID, packetCounter, AES key position according E2P layout | 2013-10-26 |
add access to arrays to former eeprom access functions | 2013-10-26 |
make function signature C conform | 2013-10-14 |
20131014 develop_v0.1.1-13-g732fff0 | Download |
add e2p access functions (not used in firmware currently) with working unit test | 2013-10-13 |
add error function that lets the LED blink forever | 2013-10-13 |
Make UART debugging work again. | 2013-10-12 |
Remove ifdefs in temp sensor code. Use E2P values instead. Use E2P values in util.h and include device specific e2p definition there. | 2013-10-12 |
20131006 develop_v0.1.1-4-gbd3d701 | Download |
Add a e2p config block to e2p layout. Use temperature and brightness sensor settings for configuration of connected sensor type. Implement using the new values to avoid that the firmware hangs (waits forever) when no SHT15 is connected. | 2013-10-05 |
20131004 develop_v0.1.1-0-ga263f2f | Download |
TAG: Updated and working version with corrected fuse settings, but old EEPROM and package format. | 2024-04-25 |
Autodetect microcontroller type in flash script. | 2013-10-04 |
Add flash batch files for Windows and move readme to common "extra" directory. | 2013-10-04 |
Correct makefile command to write fuse bytes into binary files. It was working on Windows, but not Linux. | 2013-10-04 |
20131003 develop_v0.1-15-g762dd6a | Download |
Merge branch 'master' of https://github.com/Inhumierer/smarthomatic into develop | 2013-10-03 |
Add default e2p file for temp sensor. | 2013-10-03 |
Using avrdude raw option for writing e2p file is the better choice than autodetection. | 2013-10-03 |
Add info about how to flash your ATMega in README. | 2013-10-03 |
Create binary files for fuses, because these are supported by avrdude (and text files with hex strings are not). | 2013-10-03 |
Remove avrdude options from makefile. User should create a avrdude.rc / ~/.avrduderc with options. | 2013-10-03 |
Update uart.h typo corrected | 2013-10-03 |
20131002 develop_v0.1-6-g042f6b6 | Download |
Add readme for building binary packages. | 2013-10-01 |
20130925 develop_v0.1-1-gf02bdd5 | Download |
use .org domain | 2013-09-22 |
Add header files for e2p positions (generated by e2p editor). Files are unused a.t.m. | 2013-09-21 |
add files | 2013-09-18 |
20130924 develop_v0.1-0-gf02bdd5 | Download |
TAG: stable version with initial eeprom and message format | 2024-04-25 |
shc_envsensor (release)
20230729 release_v0.13.0-rc.1-0-gb18cbf0 | Download |
---|---|
Correct animation timer speed for Controller device (since it's running on 20 MHz and not 8 Mhz CPU clock). | 2023-05-28 |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in makefile. | 2023-05-11 |
Support display_backlight function in controller device. | 2023-05-09 |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
Extend max. virtual pages to 4. | 2023-04-20 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
Switch off UART_DEBUG as default in EnvSensor. Somehow it was on by mistake. | 2023-04-14 |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20220906 release_v0.12.0-rc.1-0-ga8c1fc0 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Fix makefile to consider sps30. | 2019-11-16 |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Bugfix: Fix support for more than one analog pin. The averaging function was changing the measured value to 0 for all pins except the first one. | 2019-10-26 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Add possibility to override onewire port configuration. | 2016-04-10 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20151212 release_v0.11.0-rc.1-0-g3042e25 | Download |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
Update default e2p files to current layout. | 2015-06-22 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
Correct project file (WinAVR). | 2015-06-21 |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
Correct description. | 2015-05-23 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
20150502 release_v0.10.0-rc.1-0-g39b1b02 | Download |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150228 release_v0.9.0-rc.6-0-g9c554b6 | Download |
Minor code beautification. Add line break. | 2015-02-28 |
envsensor: init i2c when only temperature is used | 2015-02-28 |
20150208 release_v0.9.0-rc.1-0-ga724183 | Download |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Fix calculation of negative temperatures with DS18B20 sensor. | 2015-02-07 |
Support DS18B20. | 2015-02-01 |
Updated header files with corrected wake-up values. | 2015-01-11 |
Describe wake-up values in comment correctly. | 2015-01-11 |
Rename functions from "...version..." to "...deviceinfo..." according to the message name. | 2015-01-04 |
Enable global interrupts while measurement is running. Change measurement time to 800ms. Check status of 1-wire reset. | 2015-01-04 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Fix: Reset measurement counter after sending DigitalPort message. | 2014-10-25 |
Don't send other message (e.g. temperature) on pin wake-up. Send either DigitalPort message (if trigger fired as configured) or no message. | 2014-10-25 |
Remember DI state right before going to power down to not miss any "button press" (if a button is connected to a digital input). | 2014-10-14 |
Fix configuration of the internal pull-up resistors. | 2014-10-13 |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
Correct using the right message ID (DigitalPort instead of DigitalPin). | 2014-10-09 |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
Change back battery measuring interval to correct value. | 2014-10-04 |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
20140916 release_v0.8.0-rc.1-0-gfe3f648 | Download |
Add generated e2p layout header. | 2014-09-16 |
Implement color animation (not working completely yet). React on ColorAnimation message. Send cyclic status. | 2014-08-17 |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Fix unit test to run without avr lib. | 2014-07-21 |
Add color animation message, using the new "structured array". | 2014-07-21 |
Support color message. | 2014-07-20 |
Remove unused file. | 2014-07-20 |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Support brightness factor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
20140710 release_v0.7.0-rc.1-0-g309c9d6 | Download |
Use variable value and avoid reading value from e2p a 2nd time. | 2014-07-05 |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
Add trigger function for AnalogInput. | 2014-06-28 |
Fix: send DigitalInput status after the AveragingInterval is reached in any case. | 2014-06-27 |
Use di[i].pin instead of di[i].port to check if the DigitalPin is unused (same as with AnalogPins). | 2014-06-27 |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
Commented out resetting the wake-up timer when sending data with the RFM12 module. Waking up in fixed intervals is what's expected in the EnvSensor. | 2014-06-27 |
Merge two if statements. | 2014-06-24 |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
typo corrected | 2014-06-24 |
Add Up/Down to OnChange DI pin watching | 2014-06-24 |
Reduce idle power consumption to about 21µA by connecting the pull-up resistors for the battery voltage and photocell to a separate pin (PB6) that is switched on only when measuring. | 2014-06-16 |
optimize debug output | 2014-06-15 |
Add measuring counter to struct measurement_t. Use functions to count measurement interval and calculate the average value. | 2014-06-15 |
rename variable | 2014-06-15 |
rename variables | 2014-06-15 |
rename e2p values | 2014-06-15 |
Correct calculation of measurement cycle for distance sensor. | 2014-06-14 |
Avoid sensing messages about values that were never measured. | 2014-06-14 |
Update default e2p file. | 2014-06-14 |
Use measuring intervals and averaging counts in firmware. | 2014-06-14 |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Support configurable wake-up time. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
Fix: Change device_id type to uint16_t (to support values > 255). | 2014-06-11 |
Remove / move include statements. | 2014-06-10 |
Use enum type instead of integer type in function signature. | 2014-06-10 |
Include needed header file. | 2014-06-10 |
cosmetic | 2014-06-10 |
Wait for stable voltage level only if pull-ups were switched on now. | 2014-06-05 |
Use sbi macro as everywhere. | 2014-06-05 |
Distinguish wake-up by pin change and RFM12B wake-up to ensure usual measuring interval for other sensors on pin change. | 2014-06-05 |
Use PCI for immediate response on pins watched Use the Pin Change Interrupts to wake up uC when a watched pin changes the state during sleep mode. If using PCI, don't switch off the pullup resistors. | 2014-05-29 |
Set DIDR0 for ADC channels, switch off digital input buffers to reduce ADC noise and to save power. | 2014-05-25 |
Switch on pull up resistor for digital pins only when measuring to reduce power consumption. | 2014-05-25 |
add header define | 2014-05-25 |
Add header file for GPIO message group. | 2014-05-11 |
DigitalPin send cycle: Send every 7 min. in cycle mode. Send immediately in "OnChange" mode and after 28 min. | 2014-05-11 |
send out digital pin status directly after power up | 2014-05-11 |
Add support for digital pins in the envsensor. | 2014-05-11 |
Remap SHT15 SCL pin from PC4 to PC2 to avoid problems with I2C. | 2014-05-06 |
Add SRF02 (ultrasonic range sensor) support, incl. voltage converter switching at PD5. | 2014-05-06 |
20140506 release_v0.6.0-rc.1-0-g8900514 | Download |
Support SHT15 in parallel to I2C sensors. Correct calculation of average values before sending. | 2014-05-02 |
revert measurement interval | 2014-04-26 |
correct calculation of humidity | 2014-04-26 |
beautify code | 2014-04-26 |
Add separate functions for measuring values and for preparing a message to send. Send one message whenever an average threshold is reached. Use new message groups "weather" and "environment". Support barometric pressure message. | 2014-04-26 |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
SRF02: Enable SRF02 in envsensor | 2014-03-31 |
SRF02: Add config options for SRF02 | 2014-03-31 |
SRF02: Add driver files | 2014-03-31 |
Update license information | 2014-03-31 |
Adapt BMP085 driver to new i2c interface Right now the barometric pressure data is not included in the sensor message because after including the additional bytes the CRC check failed in the basestation. In the current develop branch is ongoing work to redefine the message format, after finalizing I'm happy to add a patch to adapt it. The barometric pressure data can be seen on the temperature sensor debug port (just #define UART_DEBUG and recompile). Code size: text data bss dec hex BMP085: 12626 289 544 13459 3493 v0.2.0: 10260 289 509 11058 2b32 Conflicts: firmware/shc_envsensor/shc_envsensor.c | 2014-03-31 |
Enable barometric sensor | 2014-01-18 |
Add configuration options for BMP085 | 2014-03-25 |
Add BMP085 driver files | 2014-03-25 |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Update generated header files. | 2014-03-23 |
Use new e2p layout in powerswitch firmware. | 2014-03-23 |
add flash script for linux | 2014-03-15 |
use e2p/array access function in lm75 driver | 2014-03-11 |
correct calculation of negative values in e2p/array access function | 2014-03-11 |
Move lm75_get_meas_time_ms function to header file and change to static inline to 1) avoid compile error under linux ("expects a compile time integer constant") and 2) save some flash size (~130 bytes). | 2014-03-09 |
rename e2p file | 2014-03-09 |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
20140224 release_v0.4.0-rc.1-0-g2feca00 | Download |
Rename rfm12_sendbuf function to rfm12_send_bufx, which better represents a function name and also tells that bufx is the buffer used in the function. | 2014-02-23 |
Remove sendbuf and use cmdbuf from main loop directly, thus removing one unnecessary buffer. | 2014-02-23 |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
Use avr-gcc names for integer variables and functions instead of C naming. | 2014-02-16 |
Make functions static to save a little flash size. | 2014-02-16 |
Add cleanbuild target to makefile. Change memory info format to the AVR specific one. | 2014-02-16 |
Split up of util lib into util_hw.c|h and util_generic.c|h. | 2014-02-16 |
Move hex_to_uint... functions from uart to util lib. | 2014-02-16 |
Move print_signed and print_bytearray to uart module. | 2014-02-16 |
Use (signed) int value in firmware for OSCCAL value. | 2014-02-14 |
add missing UInt e2p access function | 2014-02-12 |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
move include statement | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
add define for header file | 2014-02-08 |
fix cbc decryption | 2014-02-08 |
avoid clash with definitions in inttypes.h by using it in aes256.h instead of using own declaration | 2014-02-08 |
correct battery percentage calculation in tempsensor depending on used sensor | 2014-02-02 |
Use separate e2p header files in every device and in util module instead of the old header files. Add initial compilable source code for thermostat device. | 2014-01-26 |
beautify if statement in makefile | 2014-01-18 |
Merge branch 'GoHoHa-master' into develop | 2014-01-18 |
Merge branch 'master' of https://github.com/GoHoHa/smarthomatic into GoHoHa-master | 2014-01-18 |
added skeleton for thermostat HR25 | 2013-11-06 |
Typo change "RFM12" | 2013-11-04 |
20140118 release_v0.3.0-rc.1-0-gc639872 | Download |
move function inc_packetcounter to util file and use it everywhere | 2014-01-18 |
don't send status so often | 2014-01-17 |
move common function rfm12_sendbuf to util | 2014-01-16 |
rename function printSigned to print_signed | 2014-01-16 |
move function print_bytearray to util module | 2014-01-16 |
use bool parameter instead of int | 2014-01-16 |
rename function | 2014-01-16 |
print out OSCCAL info (if UART debugging active) | 2014-01-16 |
Reorder functions. Rename internal functions. | 2014-01-16 |
add powerswitch in flash script | 2014-01-16 |
correct calculation of packets when they don't have message data | 2014-01-06 |
support new packet format in dimmer | 2014-01-06 |
change LED blink pattern at startup | 2014-01-06 |
correct limiting of signed integer values after reading from byte array | 2014-01-05 |
correct calculation of humidity value | 2014-01-05 |
support request queue for sending requests with new packet format | 2014-01-05 |
support new packet format in basestation (without request queue) | 2014-01-04 |
updated header files | 2014-01-01 |
Bugfix for eeprom/array read function. Unused upper bits were not cleared, resulting in wrong return values sometimes. | 2014-01-01 |
initial implementation for support of new packet format in powerswitch | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
Set UART_DEBUG and UART_RX defines in makefile instead of main source code file. Remove ifdefs for UART debugging and let the compiler remove unused calls when defines are not set to simplify source code. | 2013-12-31 |
use new generated functions in tempsensor device | 2013-12-31 |
simplify int access function | 2013-12-31 |
add generated header files | 2013-12-31 |
use new packet format in temp sensor | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
Merge pull request #36 from Inhumierer/develop Update util.c | 2013-11-26 |
Update util.c Fixed typo in PrintSigned | 2013-11-23 |
set correct MCU for flashing fuses | 2013-11-16 |
Merge branch 'develop' of https://github.com/Inhumierer/smarthomatic into develop | 2013-11-12 |
Update shc_tempsensor.c | 2013-11-12 |
Update shc_tempsensor.c | 2013-11-12 |
Update util.c | 2013-11-12 |
Update util.h | 2013-11-12 |
20131113 release_v0.2.0-rc.3-0-gb499f61 | Download |
fix severe bug that the old EEPROM position was used to write the packetcounter | 2013-11-12 |
20131106 release_v0.2.0-rc.1-0-g93d6114 | Download |
shc_envsensor (master)
20230730 master_v0.13.0-0-g278c0ec | Download |
---|---|
TAG: *General:* Support "deliver" message to ensure that the base station received a message sent by a device (used by controller device). Support 64 byte packets. Support ATMega1284 and 4kB e2p. Improve collision detection timing. *Controller:* New device which acts as user interface. Supports LCD text display, RGB LED, speaker and buttons to navigate through a menu with options defined in e2p. Can be used as control interface for smart home functions. *Powerswitch:* Support for On/Off delay that is used when a status change is triggered by the optional switch. Put relais state into status message. Fix version status cycle. *RGB Dimmer:* HW break! Pins for RGB LEDs changed to have common source code with controller device. Support "tone" and "melody" message to play (warning) melodies / alerts. *FHEM:* Update modules to be used with new controller device. Use default baud rate of 115200. Avoid "require" keyword and "given/when". | 2024-04-25 |
Correct animation timer speed for Controller device (since it's running on 20 MHz and not 8 Mhz CPU clock). | 2023-05-28 |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in makefile. | 2023-05-11 |
Support display_backlight function in controller device. | 2023-05-09 |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
Extend max. virtual pages to 4. | 2023-04-20 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
Switch off UART_DEBUG as default in EnvSensor. Somehow it was on by mistake. | 2023-04-14 |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20220906 master_v0.12.0-0-gec025f0 | Download |
TAG: EnvSensor: Support ParticulateMatter sensor. Support FloatValue type in e2p. Add tea maker project (currently not being worked on). Add shutter control HW. Generic maxi speed 1.2 introduces transistor to switch RFM module on/off. Support transceiver timeout to restart RFM12 if needed. Allow to edit strings as array in e2p editor. | 2024-04-25 |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Fix makefile to consider sps30. | 2019-11-16 |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Bugfix: Fix support for more than one analog pin. The averaging function was changing the measured value to 0 for all pins except the first one. | 2019-10-26 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Add possibility to override onewire port configuration. | 2016-04-10 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20160103 master_v0.11.0-0-gfa208fc | Download |
TAG: Increase stability of devices which send and receive and have sporadic hangs of RFM module: Added configurable (optional) watchdog to reset ATMega and RFM12B when nothing is received some time. Add HardwareError message to FHEM parser to log the error cases. Update Soil Moisture Meter PCB (V1.2) with 6-pin ISP connector including VCC pin. Update Dimmer PCB (V1.3), Power Switch PCB (V1.1), Generic Maxi Speed PCB (V1.1) by added VCC pin on ISP connector and/or connection of RFM power pin to an I/O pin for shutting it off in case of a hang. Added new Generic Micro 2 SMD PCB (V1.0) which is compatible to a Generic Midi and can be used as a smaller EnvSensor device. | 2024-04-25 |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
Update default e2p files to current layout. | 2015-06-22 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
Correct project file (WinAVR). | 2015-06-21 |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
Correct description. | 2015-05-23 |
20150517 master_v0.10.1-0-g9d85b61 | Download |
TAG: Hotfix for buggy CRC check with GCC 4.7.2 on linux (which my build robot uses under linux). | 2024-04-25 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
20150516 master_v0.10.0-0-g6ecdef6 | Download |
TAG: Speed up of communication to/from base station by supporting 115200 baud on UART and shortening strings. Reaction on a command over UART until encrypted packet is sent is now under 20ms! Add CRC32 at the end of the packet data string to secure sommunication from base station to PC (fhem). Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. Add SmoothingPercentage parameter to SoilMoistureMeter to smooth reported humidity values. | 2024-04-25 |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150301 master_v0.9.0-0-gec1ee4e | Download |
TAG: Add new device soil moisture meter (schematics, layout and firmware). Speed up encryption/decryption drastically by using other AES lib. Support additional sensors in EnvSensor: HTU21d (I2C, humidity + temperature), DS18S20/DS18B20 (1-wire, temperature). Reduce power consumption to ~1.8µA at EnvSensor by switching off BOD in sleep mode. Support DeviceInfo message (containing DeviceType + firmware version) at all devices. Send Error Ack for messages which are not supported at all devices. Several minor fixes. | 2024-04-25 |
Minor code beautification. Add line break. | 2015-02-28 |
envsensor: init i2c when only temperature is used | 2015-02-28 |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Fix calculation of negative temperatures with DS18B20 sensor. | 2015-02-07 |
Support DS18B20. | 2015-02-01 |
Updated header files with corrected wake-up values. | 2015-01-11 |
Describe wake-up values in comment correctly. | 2015-01-11 |
Rename functions from "...version..." to "...deviceinfo..." according to the message name. | 2015-01-04 |
Enable global interrupts while measurement is running. Change measurement time to 800ms. Check status of 1-wire reset. | 2015-01-04 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Fix: Reset measurement counter after sending DigitalPort message. | 2014-10-25 |
Don't send other message (e.g. temperature) on pin wake-up. Send either DigitalPort message (if trigger fired as configured) or no message. | 2014-10-25 |
Remember DI state right before going to power down to not miss any "button press" (if a button is connected to a digital input). | 2014-10-14 |
Fix configuration of the internal pull-up resistors. | 2014-10-13 |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
Correct using the right message ID (DigitalPort instead of DigitalPin). | 2014-10-09 |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
Change back battery measuring interval to correct value. | 2014-10-04 |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
20140921 master_v0.8.0-0-gc0ed0c3 | Download |
TAG: Implement RGB dimmer firmware. Support Color and ColorAnimation message for an animation (fading) of several colors, using repeat and autoreverse parameters for different visual effects. BaseStation: Automatically truncate empty bytes in messages before sending. Fix sending packets > 16 bytes. Avoid request queue for broadcast requests. | 2024-04-25 |
Add generated e2p layout header. | 2014-09-16 |
Implement color animation (not working completely yet). React on ColorAnimation message. Send cyclic status. | 2014-08-17 |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Fix unit test to run without avr lib. | 2014-07-21 |
Add color animation message, using the new "structured array". | 2014-07-21 |
Support color message. | 2014-07-20 |
Remove unused file. | 2014-07-20 |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Support brightness factor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
20140728 master_v0.7.0-0-g0e996cc | Download |
TAG: EnvSensor: add digital + analog input support, configurable wake-up / measuring times. Add support for SRF02 ultrasonic distance sensor. E2PEditor: Handling of default values for config options, incl. coloring of modified values. | 2024-04-25 |
Use variable value and avoid reading value from e2p a 2nd time. | 2014-07-05 |
Add an array of binary values about analog input pins to the AnalogPin message. The values tell if the current voltage is above or below the configured threshold. This makes it possible to have differently configured sensors (with different thresholds) that share the same control logic in the server application (FHEM). | 2014-06-28 |
Add trigger function for AnalogInput. | 2014-06-28 |
Fix: send DigitalInput status after the AveragingInterval is reached in any case. | 2014-06-27 |
Use di[i].pin instead of di[i].port to check if the DigitalPin is unused (same as with AnalogPins). | 2014-06-27 |
Rename array. | 2014-06-27 |
Add initial AnalogInput support. Trigger modes are missing. | 2014-06-27 |
Commented out resetting the wake-up timer when sending data with the RFM12 module. Waking up in fixed intervals is what's expected in the EnvSensor. | 2014-06-27 |
Merge two if statements. | 2014-06-24 |
Rename and reorder enum values to make DigitalInput and AnalogInput similar. | 2014-06-24 |
typo corrected | 2014-06-24 |
Add Up/Down to OnChange DI pin watching | 2014-06-24 |
Reduce idle power consumption to about 21µA by connecting the pull-up resistors for the battery voltage and photocell to a separate pin (PB6) that is switched on only when measuring. | 2014-06-16 |
optimize debug output | 2014-06-15 |
Add measuring counter to struct measurement_t. Use functions to count measurement interval and calculate the average value. | 2014-06-15 |
rename variable | 2014-06-15 |
rename variables | 2014-06-15 |
rename e2p values | 2014-06-15 |
Correct calculation of measurement cycle for distance sensor. | 2014-06-14 |
Avoid sensing messages about values that were never measured. | 2014-06-14 |
Update default e2p file. | 2014-06-14 |
Use measuring intervals and averaging counts in firmware. | 2014-06-14 |
Add E2P values for measuring and averaging intervals for DigitalInput and AnalogInput. | 2014-06-14 |
Support configurable wake-up time. | 2014-06-14 |
Add configuration options for AnalogInput sensor and wake up intervals. Both are not used yet. | 2014-06-14 |
Fix: Change device_id type to uint16_t (to support values > 255). | 2014-06-11 |
Remove / move include statements. | 2014-06-10 |
Use enum type instead of integer type in function signature. | 2014-06-10 |
Include needed header file. | 2014-06-10 |
cosmetic | 2014-06-10 |
Wait for stable voltage level only if pull-ups were switched on now. | 2014-06-05 |
Use sbi macro as everywhere. | 2014-06-05 |
Distinguish wake-up by pin change and RFM12B wake-up to ensure usual measuring interval for other sensors on pin change. | 2014-06-05 |
Use PCI for immediate response on pins watched Use the Pin Change Interrupts to wake up uC when a watched pin changes the state during sleep mode. If using PCI, don't switch off the pullup resistors. | 2014-05-29 |
Set DIDR0 for ADC channels, switch off digital input buffers to reduce ADC noise and to save power. | 2014-05-25 |
Switch on pull up resistor for digital pins only when measuring to reduce power consumption. | 2014-05-25 |
add header define | 2014-05-25 |
Add header file for GPIO message group. | 2014-05-11 |
DigitalPin send cycle: Send every 7 min. in cycle mode. Send immediately in "OnChange" mode and after 28 min. | 2014-05-11 |
send out digital pin status directly after power up | 2014-05-11 |
Add support for digital pins in the envsensor. | 2014-05-11 |
Remap SHT15 SCL pin from PC4 to PC2 to avoid problems with I2C. | 2014-05-06 |
Add SRF02 (ultrasonic range sensor) support, incl. voltage converter switching at PD5. | 2014-05-06 |
20140610 master_v0.6.1-0-g19b1771 | Download |
TAG: HotFix: Copy request buffer indices correctly in request queue. This bug could lead to sending messages endlessly (only) in the case when there were more than 2 requests in a queue for one receiver and the requests were additionally not acknowledged. | 2024-04-25 |
20140515 master_v0.6.0-0-gf49d8af | Download |
TAG: Support for I2C. Support for temp sensor DS7505. Support for barometric pressure sensor BMP085. FHEM support. Support for array structures in e2p definitions and packets (used in base station and power switch e2p layout). Renamed "tempsensor" to "envsensor", which also requires an ATMega328. e2p editor remembers flash command line. | 2024-04-25 |
Support SHT15 in parallel to I2C sensors. Correct calculation of average values before sending. | 2014-05-02 |
revert measurement interval | 2014-04-26 |
correct calculation of humidity | 2014-04-26 |
beautify code | 2014-04-26 |
Add separate functions for measuring values and for preparing a message to send. Send one message whenever an average threshold is reached. Use new message groups "weather" and "environment". Support barometric pressure message. | 2014-04-26 |
Change e2p config: Select barometric pressure sensor BMP085 explicitly also as temp sensor, or use another sensor instead. | 2014-04-05 |
Merge BMP085 support from branch 'Roadyweb-SRF02_v0.5.0' into develop. | 2014-04-05 |
SRF02: Enable SRF02 in envsensor | 2014-03-31 |
SRF02: Add config options for SRF02 | 2014-03-31 |
SRF02: Add driver files | 2014-03-31 |
Update license information | 2014-03-31 |
Adapt BMP085 driver to new i2c interface Right now the barometric pressure data is not included in the sensor message because after including the additional bytes the CRC check failed in the basestation. In the current develop branch is ongoing work to redefine the message format, after finalizing I'm happy to add a patch to adapt it. The barometric pressure data can be seen on the temperature sensor debug port (just #define UART_DEBUG and recompile). Code size: text data bss dec hex BMP085: 12626 289 544 13459 3493 v0.2.0: 10260 289 509 11058 2b32 Conflicts: firmware/shc_envsensor/shc_envsensor.c | 2014-03-31 |
Enable barometric sensor | 2014-01-18 |
Add configuration options for BMP085 | 2014-03-25 |
Add BMP085 driver files | 2014-03-25 |
Generate ByteArray access functions instead of using defines. Use them for reading AesKeys in all firmwares. | 2014-03-23 |
Update generated header files. | 2014-03-23 |
Use new e2p layout in powerswitch firmware. | 2014-03-23 |
add flash script for linux | 2014-03-15 |
use e2p/array access function in lm75 driver | 2014-03-11 |
correct calculation of negative values in e2p/array access function | 2014-03-11 |
Move lm75_get_meas_time_ms function to header file and change to static inline to 1) avoid compile error under linux ("expects a compile time integer constant") and 2) save some flash size (~130 bytes). | 2014-03-09 |
rename e2p file | 2014-03-09 |
rename tempsensor to envsensor | 2014-03-09 |
add I2C and DS7505 support | 2014-03-09 |
20140309 master_v0.5.0-0-g6adbdc0 | Download |
TAG: Use ATMega328 for TempSensor. Everything else is identical to v0.4.0. | 2024-04-25 |
change tempsensor MC model to ATMega328 in flash script | 2014-03-09 |
change default e2p to 1024 bytes size | 2014-03-09 |
change microcontroller model to ATMega328 for the tempsensor | 2014-03-09 |
20140302 master_v0.4.0-0-gb07c72b | Download |
TAG: The generated e2p access functions are improved to allow simpler use. Signed ints are now supported as e2p values. All firmwares built by the build robot now contain a version number compiled into the firmware. The version is sent by each device about once a day. | 2024-04-25 |
Rename rfm12_sendbuf function to rfm12_send_bufx, which better represents a function name and also tells that bufx is the buffer used in the function. | 2014-02-23 |
Remove sendbuf and use cmdbuf from main loop directly, thus removing one unnecessary buffer. | 2014-02-23 |
Rename GitHash parameter in version message to Hash. This is better to be independent of Git (even if Git is currently used). | 2014-02-23 |
Use avr-gcc names for integer variables and functions instead of C naming. | 2014-02-16 |
Make functions static to save a little flash size. | 2014-02-16 |
Add cleanbuild target to makefile. Change memory info format to the AVR specific one. | 2014-02-16 |
Split up of util lib into util_hw.c|h and util_generic.c|h. | 2014-02-16 |
Move hex_to_uint... functions from uart to util lib. | 2014-02-16 |
Move print_signed and print_bytearray to uart module. | 2014-02-16 |
Use (signed) int value in firmware for OSCCAL value. | 2014-02-14 |
add missing UInt e2p access function | 2014-02-12 |
add descriptions for data fields in header files | 2014-02-09 |
Generate nice e2p access functions and use them everywhere. | 2014-02-09 |
move include statement | 2014-02-09 |
surroud message group header files with defines | 2014-02-09 |
Support displaying version info at startup and sending version info packet once a day in all devices. | 2014-02-08 |
add define for header file | 2014-02-08 |
fix cbc decryption | 2014-02-08 |
avoid clash with definitions in inttypes.h by using it in aes256.h instead of using own declaration | 2014-02-08 |
correct battery percentage calculation in tempsensor depending on used sensor | 2014-02-02 |
Use separate e2p header files in every device and in util module instead of the old header files. Add initial compilable source code for thermostat device. | 2014-01-26 |
beautify if statement in makefile | 2014-01-18 |
Merge branch 'GoHoHa-master' into develop | 2014-01-18 |
Merge branch 'master' of https://github.com/GoHoHa/smarthomatic into GoHoHa-master | 2014-01-18 |
added skeleton for thermostat HR25 | 2013-11-06 |
Typo change "RFM12" | 2013-11-04 |
20140201 master_v0.3.0-0-gac61e5c | Download |
TAG: Update of the packet format as described on the homepage. Functions to access the packet data fields easily in the firmware are generated from the packet_layout.xml definition. The code generator is included in the E2P editor. Six message types are defined to support all needed communication sequences. The new packet format also supports more devices (4096 instead of 256). Firmware includes support of the new functions/packet format in all four devices. | 2024-04-25 |
move function inc_packetcounter to util file and use it everywhere | 2014-01-18 |
don't send status so often | 2014-01-17 |
move common function rfm12_sendbuf to util | 2014-01-16 |
rename function printSigned to print_signed | 2014-01-16 |
move function print_bytearray to util module | 2014-01-16 |
use bool parameter instead of int | 2014-01-16 |
rename function | 2014-01-16 |
print out OSCCAL info (if UART debugging active) | 2014-01-16 |
Reorder functions. Rename internal functions. | 2014-01-16 |
add powerswitch in flash script | 2014-01-16 |
correct calculation of packets when they don't have message data | 2014-01-06 |
support new packet format in dimmer | 2014-01-06 |
change LED blink pattern at startup | 2014-01-06 |
correct limiting of signed integer values after reading from byte array | 2014-01-05 |
correct calculation of humidity value | 2014-01-05 |
support request queue for sending requests with new packet format | 2014-01-05 |
support new packet format in basestation (without request queue) | 2014-01-04 |
updated header files | 2014-01-01 |
Bugfix for eeprom/array read function. Unused upper bits were not cleared, resulting in wrong return values sometimes. | 2014-01-01 |
initial implementation for support of new packet format in powerswitch | 2014-01-01 |
add common access functions for header extensions | 2014-01-01 |
Set UART_DEBUG and UART_RX defines in makefile instead of main source code file. Remove ifdefs for UART debugging and let the compiler remove unused calls when defines are not set to simplify source code. | 2013-12-31 |
use new generated functions in tempsensor device | 2013-12-31 |
simplify int access function | 2013-12-31 |
add generated header files | 2013-12-31 |
use new packet format in temp sensor | 2013-12-05 |
Add packet metamodel and first version of packet catalog file. Generate headers and use them in temp sensor. | 2013-12-05 |
Merge pull request #36 from Inhumierer/develop Update util.c | 2013-11-26 |
Update util.c Fixed typo in PrintSigned | 2013-11-23 |
set correct MCU for flashing fuses | 2013-11-16 |
Merge branch 'develop' of https://github.com/Inhumierer/smarthomatic into develop | 2013-11-12 |
Update shc_tempsensor.c | 2013-11-12 |
Update shc_tempsensor.c | 2013-11-12 |
Update util.c | 2013-11-12 |
Update util.h | 2013-11-12 |
20131117 master_v0.2.0-0-g00adbec | Download |
TAG: v0.2.0 supports the new EEPROM layout as also used in the EEPROM editor. These are other main changes: - fix problem with E2P editor and Java7 - fix several E2P editor error messages and improve handling - use fixed JAR filename for E2P editor - set BODLEVEL for all devices (under voltage detection) - add E2P and array acces functions for read/write of specific parts inside bigger blocks - add "unit test" file to test access functions, can be extended later for other tests | 2024-04-25 |
fix severe bug that the old EEPROM position was used to write the packetcounter | 2013-11-12 |
correct comment | 2013-11-03 |
correct comment | 2013-11-03 |
Merge branch 'bod' of https://github.com/Inhumierer/smarthomatic into Inhumierer-bod | 2013-11-03 |
use deviceID 20 (same as devicetype) as default | 2013-11-03 |
tempsensor e2p file device id set to 20 (0x14) - was 0x0, giving error signal | 2013-11-03 |
BOD level fuses at basestation and tempsensor | 2013-11-03 |
cleanup: remove unnecessary cast | 2013-10-27 |
set measure timeout back to normal value | 2013-10-26 |
read OSCCAL mode using new E2P access function | 2013-10-26 |
support E2P positions as defined in new e2p layout | 2013-10-26 |
add e2p compatibility check, read e2p values for deviceID, packetCounter, AES key position according E2P layout | 2013-10-26 |
add access to arrays to former eeprom access functions | 2013-10-26 |
make function signature C conform | 2013-10-14 |
add e2p access functions (not used in firmware currently) with working unit test | 2013-10-13 |
add error function that lets the LED blink forever | 2013-10-13 |
Make UART debugging work again. | 2013-10-12 |
Remove ifdefs in temp sensor code. Use E2P values instead. Use E2P values in util.h and include device specific e2p definition there. | 2013-10-12 |
Add a e2p config block to e2p layout. Use temperature and brightness sensor settings for configuration of connected sensor type. Implement using the new values to avoid that the firmware hangs (waits forever) when no SHT15 is connected. | 2013-10-05 |
20131004 master_v0.1.1-0-ga263f2f | Download |
TAG: Updated and working version with corrected fuse settings, but old EEPROM and package format. | 2024-04-25 |
Autodetect microcontroller type in flash script. | 2013-10-04 |
Add flash batch files for Windows and move readme to common "extra" directory. | 2013-10-04 |
Correct makefile command to write fuse bytes into binary files. It was working on Windows, but not Linux. | 2013-10-04 |
Merge branch 'master' of https://github.com/Inhumierer/smarthomatic into develop | 2013-10-03 |
Add default e2p file for temp sensor. | 2013-10-03 |
Using avrdude raw option for writing e2p file is the better choice than autodetection. | 2013-10-03 |
Add info about how to flash your ATMega in README. | 2013-10-03 |
Create binary files for fuses, because these are supported by avrdude (and text files with hex strings are not). | 2013-10-03 |
Remove avrdude options from makefile. User should create a avrdude.rc / ~/.avrduderc with options. | 2013-10-03 |
Update uart.h typo corrected | 2013-10-03 |
Add readme for building binary packages. | 2013-10-01 |
use .org domain | 2013-09-22 |
Add header files for e2p positions (generated by e2p editor). Files are unused a.t.m. | 2013-09-21 |
add files | 2013-09-18 |
20130924 master_v0.1-0-gf02bdd5 | Download |
TAG: stable version with initial eeprom and message format | 2024-04-25 |
shc_rgb_dimmer (develop)
20230417 develop_v0.10.1-217-gd4fdd46 | Download |
---|---|
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
20230415 develop_v0.10.1-207-gc2b24f8 | Download |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
20230311 develop_v0.10.1-182-g117be7e | Download |
Remove duplicated function. | 2023-03-10 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Show received bytes when debugging. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
20230301 develop_v0.10.1-164-ge6a0db6 | Download |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Add warning regarding Makefile parameter. | 2023-02-28 |
Reorder lines. | 2023-02-06 |
20230206 develop_v0.10.1-159-g58ff07d | Download |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
20230204 develop_v0.10.1-158-g4420133 | Download |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Improve startup sound. | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
Correct timer divider. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Remove unused defines. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
20221125 develop_v0.10.1-136-g01b4871 | Download |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20211109 develop_v0.10.1-111-gfd16790 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
20191117 develop_v0.10.1-110-g23b294b | Download |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
20190808 develop_v0.10.1-77-gf75f338 | Download |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
20180318 develop_v0.10.1-72-g66baf5e | Download |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20151030 develop_v0.10.1-34-g0578486 | Download |
Use new Watchdog mechanism at other devices. | 2015-10-30 |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
20150622 develop_v0.10.1-16-g1d2ec9d | Download |
Update default e2p files to current layout. | 2015-06-22 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
20150607 develop_v0.10.1-7-g98d388f | Download |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
20150524 develop_v0.10.1-6-g29ed99b | Download |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
20150307 develop_v0.9.0-rc.5-30-gae9c9a6 | Download |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
20150303 develop_v0.9.0-rc.5-21-g052a55f | Download |
Send brightness status as well from time to time. | 2015-03-02 |
Add user_brightness_factor (additionally to fixed e2p brightness_factor). | 2015-03-02 |
Merge commit '108897f' with some modifications into develop (support for brightness). | 2015-03-02 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
rgb_dimmer: add brightness message | 2015-02-13 |
disable COM0A1 and COM0B1 when value is 0 | 2015-02-13 |
20150302 develop_v0.9.0-rc.5-10-ge456fb5 | Download |
Use phase correct PWM for both timers. This seems to give us the full range of 0..100% duty cycle. | 2015-03-01 |
20150223 develop_v0.7.0-rc.1-153-gc56586a | Download |
Fix that LEDs of RGB dimmer are completely off when color is 0 by using inverting mode of fast PWM instead of non-inverting mode. | 2015-02-22 |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Updated header files with corrected wake-up values. | 2015-01-11 |
20150105 develop_v0.7.0-rc.1-132-g2e5d5de | Download |
Send error Ack when MessageID is not supported. This is to reduce traffic (and react according spec). Without this function, the e.g. BaseStation would retry the "Set" request and produce more traffic if a request is not supported by a device. | 2015-01-04 |
Rename functions from "...version..." to "...deviceinfo..." according to the message name. | 2015-01-04 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
20150104 develop_v0.7.0-rc.1-126-g9e692df | Download |
Fix receiver ID range to 16 bits. | 2015-01-03 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
20141118 develop_v0.7.0-rc.1-118-g4913df8 | Download |
Set fast PWM mode correctly (not phase-correct PWM). Use prescaler of 64 (results in 480 Hz PWM). | 2014-11-17 |
20141117 develop_v0.7.0-rc.1-117-gaafd1c8 | Download |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
20141007 develop_v0.7.0-rc.1-101-g8e8903c | Download |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
20141005 develop_v0.7.0-rc.1-100-ga92a9e7 | Download |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
20141004 develop_v0.7.0-rc.1-89-g3a7160e | Download |
At power on, show colors shortly to tell user that power is connected (status LED may not be visible). | 2014-10-03 |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
Add generated e2p layout header. | 2014-09-16 |
20140916 develop_v0.7.0-rc.1-55-g911328b | Download |
Use a (fixed) exponential (-like) PWM lookup table to make the brightness levels appear linear. | 2014-09-15 |
20140915 develop_v0.7.0-rc.1-54-ge8c6d07 | Download |
Switch off debug mode as default. | 2014-09-14 |
Shut off test mode. Rename anim_cycles to timer_cycles. Reduce debug output. | 2014-09-14 |
Divide the animation into an initialization part and a much more simpler animation. Add description about initialization. Implement a test function to debug the initialization and animation sequence. | 2014-09-13 |
20140902 develop_v0.7.0-rc.1-51-g07764fd | Download |
Correct forward animation for endless loop and loop with limited amount of cycles. | 2014-09-01 |
20140901 develop_v0.7.0-rc.1-50-g83885cf | Download |
Remember currently active color (from a running animation) and use it as start color for a new animation. | 2014-08-31 |
20140818 develop_v0.7.0-rc.1-46-ga3154f5 | Download |
Implement color animation (not working completely yet). React on ColorAnimation message. Send cyclic status. | 2014-08-17 |
20140805 develop_v0.7.0-rc.1-35-gdf6c23b | Download |
Fix sending correct color in AckStatus. | 2014-08-04 |
20140804 develop_v0.7.0-rc.1-32-ga2ffbe9 | Download |
Dump message values correctly. | 2014-08-03 |
Change Debug message to reduce duplicate info. | 2014-08-03 |
Set color when color message received. | 2014-08-03 |
20140729 develop_v0.7.0-rc.1-28-gdfaa0eb | Download |
Change time values. | 2014-07-28 |
20140727 develop_v0.7.0-rc.1-27-gafc0018 | Download |
Improve animation function (not finished yet). | 2014-07-26 |
Add lookup table for timer2 cycles. | 2014-07-23 |
Correct color calculation. | 2014-07-23 |
Add animation functions. Initialize animation timer (timer 2). | 2014-07-23 |
Support receiving coloranimation message. | 2014-07-22 |
Remove unused code. | 2014-07-22 |
Change e2p / packet functions to use bit offsets as parameter everywhere instead of a pair "byte offset + bit offset within byte". This is more consistent to the general concept about considering e2p / packet data as a bitstream and having data values of any bit length at any position. Additionally, this reduces code size, because the needed byte and bit offset is now calculated internally in the e2p / packet access functions. | 2014-07-22 |
Fix unit test to run without avr lib. | 2014-07-21 |
20140722 develop_v0.7.0-rc.1-16-g4335fd0 | Download |
Add color animation message, using the new "structured array". | 2014-07-21 |
Support color message. | 2014-07-20 |
Remove unused file. | 2014-07-20 |
20140713 develop_v0.7.0-rc.1-11-g59b2953 | Download |
Remove ColorMixMode, because it leads to unwanted effects and contradicts to the usual RGB mixing. Use BrightnessFactor to limit the brightness. | 2014-07-12 |
Support brightness factor. | 2014-07-12 |
Add BrightnessFactor value to adjust overall brightness. | 2014-07-12 |
Use non inverting mode for PWMs. | 2014-07-12 |
20140712 develop_v0.7.0-rc.1-5-g752c167 | Download |
shc_rgb_dimmer (release)
20230729 release_v0.13.0-rc.1-0-gb18cbf0 | Download |
---|---|
Correct animation timer speed for Controller device (since it's running on 20 MHz and not 8 Mhz CPU clock). | 2023-05-28 |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in makefile. | 2023-05-11 |
Support display_backlight function in controller device. | 2023-05-09 |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
Extend max. virtual pages to 4. | 2023-04-20 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Remove duplicated function. | 2023-03-10 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Show received bytes when debugging. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Add warning regarding Makefile parameter. | 2023-02-28 |
Reorder lines. | 2023-02-06 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Improve startup sound. | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
Correct timer divider. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Remove unused defines. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20220906 release_v0.12.0-rc.1-0-ga8c1fc0 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20151212 release_v0.11.0-rc.1-0-g3042e25 | Download |
Use new Watchdog mechanism at other devices. | 2015-10-30 |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
Update default e2p files to current layout. | 2015-06-22 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
20150502 release_v0.10.0-rc.1-0-g39b1b02 | Download |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Send brightness status as well from time to time. | 2015-03-02 |
Add user_brightness_factor (additionally to fixed e2p brightness_factor). | 2015-03-02 |
Merge commit '108897f' with some modifications into develop (support for brightness). | 2015-03-02 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
Use phase correct PWM for both timers. This seems to give us the full range of 0..100% duty cycle. | 2015-03-01 |
rgb_dimmer: add brightness message | 2015-02-13 |
disable COM0A1 and COM0B1 when value is 0 | 2015-02-13 |
20150222 release_v0.9.0-rc.4-0-g43f9adc | Download |
Fix that LEDs of RGB dimmer are completely off when color is 0 by using inverting mode of fast PWM instead of non-inverting mode. | 2015-02-22 |
20150208 release_v0.9.0-rc.1-0-ga724183 | Download |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Updated header files with corrected wake-up values. | 2015-01-11 |
Send error Ack when MessageID is not supported. This is to reduce traffic (and react according spec). Without this function, the e.g. BaseStation would retry the "Set" request and produce more traffic if a request is not supported by a device. | 2015-01-04 |
Rename functions from "...version..." to "...deviceinfo..." according to the message name. | 2015-01-04 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
Fix receiver ID range to 16 bits. | 2015-01-03 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
Set fast PWM mode correctly (not phase-correct PWM). Use prescaler of 64 (results in 480 Hz PWM). | 2014-11-17 |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
At power on, show colors shortly to tell user that power is connected (status LED may not be visible). | 2014-10-03 |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
20140916 release_v0.8.0-rc.1-0-gfe3f648 | Download |
shc_rgb_dimmer (master)
20230730 master_v0.13.0-0-g278c0ec | Download |
---|---|
TAG: *General:* Support "deliver" message to ensure that the base station received a message sent by a device (used by controller device). Support 64 byte packets. Support ATMega1284 and 4kB e2p. Improve collision detection timing. *Controller:* New device which acts as user interface. Supports LCD text display, RGB LED, speaker and buttons to navigate through a menu with options defined in e2p. Can be used as control interface for smart home functions. *Powerswitch:* Support for On/Off delay that is used when a status change is triggered by the optional switch. Put relais state into status message. Fix version status cycle. *RGB Dimmer:* HW break! Pins for RGB LEDs changed to have common source code with controller device. Support "tone" and "melody" message to play (warning) melodies / alerts. *FHEM:* Update modules to be used with new controller device. Use default baud rate of 115200. Avoid "require" keyword and "given/when". | 2024-04-25 |
Correct animation timer speed for Controller device (since it's running on 20 MHz and not 8 Mhz CPU clock). | 2023-05-28 |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in makefile. | 2023-05-11 |
Support display_backlight function in controller device. | 2023-05-09 |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
Extend max. virtual pages to 4. | 2023-04-20 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Remove duplicated function. | 2023-03-10 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Show received bytes when debugging. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Add warning regarding Makefile parameter. | 2023-02-28 |
Reorder lines. | 2023-02-06 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Improve startup sound. | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
Correct timer divider. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Remove unused defines. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20220906 master_v0.12.0-0-gec025f0 | Download |
TAG: EnvSensor: Support ParticulateMatter sensor. Support FloatValue type in e2p. Add tea maker project (currently not being worked on). Add shutter control HW. Generic maxi speed 1.2 introduces transistor to switch RFM module on/off. Support transceiver timeout to restart RFM12 if needed. Allow to edit strings as array in e2p editor. | 2024-04-25 |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20160103 master_v0.11.0-0-gfa208fc | Download |
TAG: Increase stability of devices which send and receive and have sporadic hangs of RFM module: Added configurable (optional) watchdog to reset ATMega and RFM12B when nothing is received some time. Add HardwareError message to FHEM parser to log the error cases. Update Soil Moisture Meter PCB (V1.2) with 6-pin ISP connector including VCC pin. Update Dimmer PCB (V1.3), Power Switch PCB (V1.1), Generic Maxi Speed PCB (V1.1) by added VCC pin on ISP connector and/or connection of RFM power pin to an I/O pin for shutting it off in case of a hang. Added new Generic Micro 2 SMD PCB (V1.0) which is compatible to a Generic Midi and can be used as a smaller EnvSensor device. | 2024-04-25 |
Use new Watchdog mechanism at other devices. | 2015-10-30 |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
Update default e2p files to current layout. | 2015-06-22 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
20150517 master_v0.10.1-0-g9d85b61 | Download |
TAG: Hotfix for buggy CRC check with GCC 4.7.2 on linux (which my build robot uses under linux). | 2024-04-25 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
20150516 master_v0.10.0-0-g6ecdef6 | Download |
TAG: Speed up of communication to/from base station by supporting 115200 baud on UART and shortening strings. Reaction on a command over UART until encrypted packet is sent is now under 20ms! Add CRC32 at the end of the packet data string to secure sommunication from base station to PC (fhem). Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. Add SmoothingPercentage parameter to SoilMoistureMeter to smooth reported humidity values. | 2024-04-25 |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Send brightness status as well from time to time. | 2015-03-02 |
Add user_brightness_factor (additionally to fixed e2p brightness_factor). | 2015-03-02 |
Merge commit '108897f' with some modifications into develop (support for brightness). | 2015-03-02 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
Use phase correct PWM for both timers. This seems to give us the full range of 0..100% duty cycle. | 2015-03-01 |
rgb_dimmer: add brightness message | 2015-02-13 |
disable COM0A1 and COM0B1 when value is 0 | 2015-02-13 |
20150301 master_v0.9.0-0-gec1ee4e | Download |
TAG: Add new device soil moisture meter (schematics, layout and firmware). Speed up encryption/decryption drastically by using other AES lib. Support additional sensors in EnvSensor: HTU21d (I2C, humidity + temperature), DS18S20/DS18B20 (1-wire, temperature). Reduce power consumption to ~1.8µA at EnvSensor by switching off BOD in sleep mode. Support DeviceInfo message (containing DeviceType + firmware version) at all devices. Send Error Ack for messages which are not supported at all devices. Several minor fixes. | 2024-04-25 |
Fix that LEDs of RGB dimmer are completely off when color is 0 by using inverting mode of fast PWM instead of non-inverting mode. | 2015-02-22 |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
Updated header files with corrected wake-up values. | 2015-01-11 |
Send error Ack when MessageID is not supported. This is to reduce traffic (and react according spec). Without this function, the e.g. BaseStation would retry the "Set" request and produce more traffic if a request is not supported by a device. | 2015-01-04 |
Rename functions from "...version..." to "...deviceinfo..." according to the message name. | 2015-01-04 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
Fix receiver ID range to 16 bits. | 2015-01-03 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
Set fast PWM mode correctly (not phase-correct PWM). Use prescaler of 64 (results in 480 Hz PWM). | 2014-11-17 |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
At power on, show colors shortly to tell user that power is connected (status LED may not be visible). | 2014-10-03 |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
Correct cyclic sending of battery status. Add debug function for raw value. Move MIN function to util_generic.h. | 2014-10-03 |
Update max number of switches in e2p to 6. | 2014-09-27 |
Support reading battery voltage without any external resistors. The accuracy is basically the same (~ 4.3mV at 2.2V, 8mV at 3.0V against 3,4mV with external resistors). | 2014-09-27 |
Enter initialization after long button press. Remember dry threshold after averaging some values. Support averaging intervals and wakeup times from e2p config. Send battery status after given amount of cycles. | 2014-09-27 |
Change GPIO message format. | 2014-09-22 |
Add humidity message. | 2014-09-21 |
Use ATMega328 instead of 168. | 2014-09-21 |
Add soil moisture meter firmware (first version - does not measure anything). | 2014-09-20 |
Use ATMega168p instead of ATmega168 (for soil moisture meter). Be aware that you need a newer version of avrdude, because the avrdude.conf of older versions does not contain the 168p. | 2014-09-20 |
20140921 master_v0.8.0-0-gc0ed0c3 | Download |
TAG: Implement RGB dimmer firmware. Support Color and ColorAnimation message for an animation (fading) of several colors, using repeat and autoreverse parameters for different visual effects. BaseStation: Automatically truncate empty bytes in messages before sending. Fix sending packets > 16 bytes. Avoid request queue for broadcast requests. | 2024-04-25 |
shc_soil_moisture_meter (develop)
20230130 develop_v0.10.1-148-g6117b55 | Download |
---|---|
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
20220926 develop_v0.10.1-125-gff6b760 | Download |
Remove unused variable. | 2022-09-25 |
Add test code to measure when debugging. Remove unnecessary spaces at line endings. | 2022-09-25 |
Send status only once at startup. | 2022-09-25 |
Fix calculation of battery percentage. | 2022-09-25 |
Add asm source file to Makefile. | 2022-09-25 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20211109 develop_v0.10.1-111-gfd16790 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
20191117 develop_v0.10.1-110-g23b294b | Download |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
20180318 develop_v0.10.1-72-g66baf5e | Download |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
20160411 develop_v0.10.1-46-g1537623 | Download |
Update default e2p file. | 2016-04-10 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20151030 develop_v0.10.1-34-g0578486 | Download |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
20150607 develop_v0.10.1-7-g98d388f | Download |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
20150524 develop_v0.10.1-6-g29ed99b | Download |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
20150307 develop_v0.9.0-rc.5-30-gae9c9a6 | Download |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
20150303 develop_v0.9.0-rc.5-21-g052a55f | Download |
Send DeviceInfo and Battery status twice after start up (inserting battery). Minor code beautifications. | 2015-03-02 |
Show number of measurements to take in debug message. | 2015-03-01 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
Rename DS18S20 sensor type to DS18x20, because this is a common name meaning DS18S20 and DS18B20 support. | 2015-02-07 |
20150112 develop_v0.7.0-rc.1-139-g428fc33 | Download |
Remove unused variables. Use led_blink function. Add debug output. | 2015-01-11 |
Updated header files with corrected wake-up values. | 2015-01-11 |
20150111 develop_v0.7.0-rc.1-135-g2083b6f | Download |
Make sure to send version after startup (fix). Prepare messages only in functions and send in main loop. Remove unused variables. | 2015-01-10 |
Go to sleep when button pressed at startup to check for idle current. The RFM12 is not initialized and may not have been soldered when the test is done. | 2015-01-10 |
Rename functions from "...version..." to "...deviceinfo..." according to the message name. | 2015-01-04 |
Support HTU21D temperature/humidity sensor (I2C). | 2015-01-04 |
Add 1-wire implementation to support DS18S20 temperature sensor. Currently supports only 1 sensor. | 2015-01-03 |
Added path (commented out by default) to specify compiler binaries as suggested by arohde in forums. | 2015-01-01 |
20141117 develop_v0.7.0-rc.1-117-gaafd1c8 | Download |
Allow multiple enum definitions in e2p and packet definition files as long as they are identical. Implement "DeviceInfo" message which includes DeviceType and version info and mark old "Version" message as deprecated. | 2014-11-16 |
20141109 develop_v0.7.0-rc.1-115-g0286fe4 | Download |
Implement that reported values are smoothed when they jump up and down in a short time. | 2014-11-08 |
Exclude BOD disable in sleep for ATMega329 which does not support it. | 2014-10-09 |
Remove generated pkg_header_calc_crc32 function. Use rfm12_send_bufx() in util_hw.h instead, which will now also set the CRC32. | 2014-10-09 |
20141007 develop_v0.7.0-rc.1-101-g8e8903c | Download |
Truncate and calc CRC32 in rfm12_send_bufx function. Don't use CRC function separately. Fix calculation of truncated messages. | 2014-10-06 |
20141005 develop_v0.7.0-rc.1-100-ga92a9e7 | Download |
Trim trailing zero bytes in packet before encryption. Results in smaller amount of data to send in some cases and therefore to fewer collisions and lower battery usage. | 2014-10-04 |
Rewrite ADC conversion functions to get correct values after changing reference voltage, which is used for the new battery voltage measurement (without external resistors). | 2014-10-04 |
20141004 develop_v0.7.0-rc.1-89-g3a7160e | Download |
Switch off BOD in power down to reduce sleep current to ~1.6µA (instead of ~19µA). The BOD is enabled when the device is active, so writing garbage to e2p is prevented. | 2014-10-03 |
Remove unnecessary c and h files which are not needed anymore, because the Makefiles are changed to place all temporary files in the build subdirectory of the firmware to build. | 2014-10-03 |
Use AVR-Crypto lib with ASM imlplementation of AES instead of the C implementation. This speeds up encoding and decoding times by a factor of at least 50 (incl. loading the AES key). This is especially relevant for low speed devices (1 MHz) like the EnvSensor to reduce power consumption, because encoding a 16 byte block now takes <20ms instead of ~750ms. The Makefiles are changed so that all temporary files are stored under the Build path of the device. | 2014-10-03 |
20141003 develop_v0.7.0-rc.1-83-ga00fde3 | Download |
shc_soil_moisture_meter (release)
20230729 release_v0.13.0-rc.1-0-gb18cbf0 | Download |
---|---|
Correct animation timer speed for Controller device (since it's running on 20 MHz and not 8 Mhz CPU clock). | 2023-05-28 |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in makefile. | 2023-05-11 |
Support display_backlight function in controller device. | 2023-05-09 |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
Extend max. virtual pages to 4. | 2023-04-20 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Remove unused variable. | 2022-09-25 |
Add test code to measure when debugging. Remove unnecessary spaces at line endings. | 2022-09-25 |
Send status only once at startup. | 2022-09-25 |
Fix calculation of battery percentage. | 2022-09-25 |
Add asm source file to Makefile. | 2022-09-25 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20220906 release_v0.12.0-rc.1-0-ga8c1fc0 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Update default e2p file. | 2016-04-10 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20151212 release_v0.11.0-rc.1-0-g3042e25 | Download |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
20150502 release_v0.10.0-rc.1-0-g39b1b02 | Download |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Send DeviceInfo and Battery status twice after start up (inserting battery). Minor code beautifications. | 2015-03-02 |
Show number of measurements to take in debug message. | 2015-03-01 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150208 release_v0.9.0-rc.1-0-ga724183 | Download |
shc_soil_moisture_meter (master)
20230730 master_v0.13.0-0-g278c0ec | Download |
---|---|
TAG: *General:* Support "deliver" message to ensure that the base station received a message sent by a device (used by controller device). Support 64 byte packets. Support ATMega1284 and 4kB e2p. Improve collision detection timing. *Controller:* New device which acts as user interface. Supports LCD text display, RGB LED, speaker and buttons to navigate through a menu with options defined in e2p. Can be used as control interface for smart home functions. *Powerswitch:* Support for On/Off delay that is used when a status change is triggered by the optional switch. Put relais state into status message. Fix version status cycle. *RGB Dimmer:* HW break! Pins for RGB LEDs changed to have common source code with controller device. Support "tone" and "melody" message to play (warning) melodies / alerts. *FHEM:* Update modules to be used with new controller device. Use default baud rate of 115200. Avoid "require" keyword and "given/when". | 2024-04-25 |
Correct animation timer speed for Controller device (since it's running on 20 MHz and not 8 Mhz CPU clock). | 2023-05-28 |
Change microcontroller model used in Controller device to ATMega1284. Support 16 instead of 8 menu options, since we have now more E2P space. | 2023-05-11 |
Support ATMega1284 in makefile. | 2023-05-11 |
Support display_backlight function in controller device. | 2023-05-09 |
Support up to 32 lines in the text message of the virtual display (= 8 pages). | 2023-04-25 |
Update e2p layout to support longer and more menu entries, saving last selected indexes and backlight option. | 2023-04-25 |
Extend max. virtual pages to 4. | 2023-04-20 |
Allow to configure in e2p the text shown when sending the menu options. Reorder an e2p value. | 2023-04-18 |
Instead of switching on the LED when sending a packet, the LED is now switched off instead for 150ms when it was on before. This ensures LED blinking is always visible. | 2023-04-16 |
Move common code to send data and wait until it's sent to new include file. Reduce retries to send menu selection in controller. | 2023-04-16 |
Improve handling of collision detection timing. With the usual 20ms cycle for rfm12_tick in the main loop of all devices, the checks were too seldom to detect a signal safely. Additionally, the loop count of 200 was much too large, so packets were sent out only after 4s after the air channel was used. For the controller device to function properly, this is improved to have adequate free air channel detection and quicker broadcasts of the deliver Ack from the base station. | 2023-04-16 |
Add rfm12_tx_status function to allow detecting if a packet in the buffer is completely sent. | 2023-04-16 |
Reduce free air time before sending with RFM12. This is to help quicker ACK (answers) when sending a Deliver message. Also call rfm12_tick within a loop which switches on the LED for 200ms when sending. | 2023-04-14 |
Update message description. | 2023-04-13 |
Support Deliver Ack in basestation. | 2023-04-13 |
Add sound (key tone) option for controller in e2p. | 2023-04-11 |
Add controller message group to send menu selection. | 2023-04-11 |
Correct reserved block size in e2p for SoilMoistureMeter. | 2023-04-11 |
Controller update: Support LCD. Support menu with user options. Support buttons to select menu items. | 2023-04-11 |
Reduce "Format" attribute of "Text" message again to 4 bits. | 2023-03-12 |
Change "Text" message format so the text bytes are aligned. Saving one bit doesn't make the messages smaller. | 2023-03-12 |
Add Devicetype Controller. | 2023-03-12 |
Support LED and speaker in controller. | 2023-03-10 |
Change order of X and Y coordinates in "Text" message. | 2023-03-10 |
Add brightness factor to controller E2P layout. | 2023-03-10 |
Implement missing ByteArray access functions. | 2023-03-10 |
Extend uartbuf, since a whole line that shall be sent via UART to e.g. FHEM has to be stored to calculate its CRC. | 2023-03-05 |
Explain buffer size in comment. | 2023-03-05 |
Add warning about possible buffer overflow when making too many UART_PUT*_B calls. | 2023-03-05 |
Remove temporary debug messages. | 2023-03-05 |
Extend the command buffer to hold the command string from user to hold large packets. This requires 128 bytes now. Extend as well the UART RX buffer size, since these extended long strings are entered as well quickly (e.g. by FHEM). Otherwise, some bytes in the UART buffer would be lost. | 2023-03-05 |
Limit effect to 1 since others are not implemented yet. | 2023-02-28 |
Use a more generic effect parameter instead of a "slide" parameter for the melody. | 2023-02-05 |
In RGB Dimmer device, implement processing of new messages "Tone" and "Melody" of new message group "Audio". | 2023-02-03 |
Add melody test (debug) function. | 2023-02-03 |
Support melody "slide" mode. | 2023-02-03 |
Use correct time value from array. The wrong one was used, so the animation was too slow. | 2023-02-03 |
E Calculate and initialize the melody in the same way as the RGB LED animation. Use common functions. | 2023-02-03 |
Rename many variables. Define a struct to hold the animation/melody configurations. Move data to PROGMEM to reduce needed RAM. Add PWM values for tones at 20 MHz clock speed. | 2023-02-01 |
Define new messages for Controller and RGB Dimmer device. | 2023-01-31 |
HW Break! Switch pins for Blue LED and Speaker on RGB Dimmer, so that Blue LED is on PD3 and uses timer 2 (8 Bit) and Speaker can now use PB1 and use 16 Bit timer 1. The higher accuracy timer is better to be used for exact tone generation. | 2023-01-29 |
Move RGB LED code to common source files. | 2023-01-28 |
Initial files to move RGB LED code to common source files, since the functionality shall be used by the controller as well. | 2023-01-28 |
Allow configuration of standard (debug) LED on different pin and port. | 2023-01-27 |
Support atmega644p in Makefile. | 2023-01-26 |
Add initial Controller device e2p layout. | 2022-11-24 |
Introducing "Deliver" message type for sending a status with request for an acknowledge. | 2022-10-04 |
Release another message in the message catalog. | 2022-10-03 |
Set status "released" for some of the messages in the message catalog. | 2022-10-03 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Remove unused variable. | 2022-09-25 |
Add test code to measure when debugging. Remove unnecessary spaces at line endings. | 2022-09-25 |
Send status only once at startup. | 2022-09-25 |
Fix calculation of battery percentage. | 2022-09-25 |
Add asm source file to Makefile. | 2022-09-25 |
Add e2p parameter to configure how often the digitalportstatus shall be repeated. In case of loss of a message, the repeated message is at least reporting the current status. | 2022-09-21 |
Implemented switch on/off delay. When set in e2p, a status change of the optional switch is considered to calculate the relais state only after the defined delay. | 2022-09-19 |
20220906 master_v0.12.0-0-gec025f0 | Download |
TAG: EnvSensor: Support ParticulateMatter sensor. Support FloatValue type in e2p. Add tea maker project (currently not being worked on). Add shutter control HW. Generic maxi speed 1.2 introduces transistor to switch RFM module on/off. Support transceiver timeout to restart RFM12 if needed. Allow to edit strings as array in e2p editor. | 2024-04-25 |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Add support of SPS30 sensor to envsensor. | 2019-11-16 |
Clean up trailing spaces. | 2019-11-11 |
Add messages and e2p functions for ParticulateMatter sensor in source code. | 2019-11-11 |
Raise RFM12_TX_BUFFER_SIZE and RFM12_RX_BUFFER_SIZE from 50 to 64 bytes for all devices, because it is now necessary for the ParticulateMatter message (> 32 bytes). | 2019-11-10 |
Reorder switch modes as they are in a more consistent order. | 2019-08-09 |
PowerSwitch: Rename e2p setting to reflect that it is the switch state requested by a command, not the resulting one, which also depends on the optional manual switch. | 2019-08-08 |
PowerSwitch: Add E2P option for an optional manual switch. | 2019-08-08 |
Remove project files for the WinAVR editor. Development is now done under Linux, and e.g. Kate (as my main editor) loads the files from a git repo in a project tree automatically. | 2019-08-08 |
Use watchdog in devices that are in receive mode to detect hanging RFM12 module. Reset device in this case. The behaviour can be enabled in the E2P. | 2019-08-07 |
Add TransceiverWatchdogTimeout for BaseStation, header file. | 2017-11-12 |
Improve comments in code. | 2017-11-12 |
Read number of presets to use from e2p. Change debounce values. | 2016-04-23 |
Update e2p layout for tea maker. | 2016-04-23 |
Update generated e2p and message header files. | 2016-04-23 |
Add e2p_teamaker.h file to project. | 2016-04-23 |
Add Tea Maker e2p layout and header files. | 2016-04-16 |
Update default e2p file. | 2016-04-10 |
Redefine SPI definitions for the ATMega324PA that are otherwise used for the ATMega328. | 2016-04-03 |
Support ATMega324PA in makefile, used for tea maker. | 2016-04-03 |
20160103 master_v0.11.0-0-gfa208fc | Download |
TAG: Increase stability of devices which send and receive and have sporadic hangs of RFM module: Added configurable (optional) watchdog to reset ATMega and RFM12B when nothing is received some time. Add HardwareError message to FHEM parser to log the error cases. Update Soil Moisture Meter PCB (V1.2) with 6-pin ISP connector including VCC pin. Update Dimmer PCB (V1.3), Power Switch PCB (V1.1), Generic Maxi Speed PCB (V1.1) by added VCC pin on ISP connector and/or connection of RFM power pin to an I/O pin for shutting it off in case of a hang. Added new Generic Micro 2 SMD PCB (V1.0) which is compatible to a Generic Midi and can be used as a smaller EnvSensor device. | 2024-04-25 |
Include wdt.h not in main c file. | 2015-10-30 |
Make ATMega soft reset (instead of only RFM12 reset) when RFM12 hangs. Report different startup reasons in (updated) HardwareError message. | 2015-10-30 |
Update description. | 2015-10-29 |
Increase delay for reset / power down time. | 2015-09-27 |
Support hardware reset of RFM module. Connect IO pin PC3 of ATMega to the NRES pin of the RFM module to enable the function. If pin is not connected, only SW reset is used in case of a watchdog timeout. | 2015-06-22 |
Use both 0xFF00 and 0xFE00 commands for the sw reset, because datasheet lists FE and in practive FF seems to work. Different modules may support different commands. Rename "rfm_watchdog_reset" to "rfm_watchdog_alive", because this function resets the counters, not the RFM module. | 2015-06-21 |
Switch RFM interrupt off and on in reset function. | 2015-06-06 |
Support configurable RFM watchdog in devices which can receive. | 2015-05-23 |
Implement watchdog function to reset RFM12B when nothing is received some time. | 2015-05-23 |
Add RFM12B reset command. | 2015-05-23 |
20150517 master_v0.10.1-0-g9d85b61 | Download |
TAG: Hotfix for buggy CRC check with GCC 4.7.2 on linux (which my build robot uses under linux). | 2024-04-25 |
Hotfix for buggy CRC check with GCC 4.7.2 on linux. | 2015-05-17 |
20150516 master_v0.10.0-0-g6ecdef6 | Download |
TAG: Speed up of communication to/from base station by supporting 115200 baud on UART and shortening strings. Reaction on a command over UART until encrypted packet is sent is now under 20ms! Add CRC32 at the end of the packet data string to secure sommunication from base station to PC (fhem). Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. Add SmoothingPercentage parameter to SoilMoistureMeter to smooth reported humidity values. | 2024-04-25 |
Support SHT21/SHT25 (I2C). These sensors are actually compatible to the HTU21D. Renamed the files and functions accordingly. Delay in measurement function is removed because the "HOLD" function is used which needs no delay. | 2015-04-15 |
Shorten debug output to speed up sending. | 2015-03-08 |
Fix: Strip CRC from command when using the new "c" command. | 2015-03-08 |
Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. | 2015-03-08 |
After receiving a message, print out a CRC32 at the end of the "Packet Data:..." line. This should be used in e.g. FHEM to detect corruption on the serial line. When the CRC does not match, the line should be ignored. | 2015-03-07 |
Call rfm12_tick directly in send function. Reorder UART output. Time for sending packets (from reception of last character to rfm12_tick) is now down to 95ms with 19200 baud and 18ms with 115200 baud. | 2015-03-07 |
Support changing UART baud rate at base station from 19200 to 115200 to speed up sending commands. Default value is still 19200. | 2015-03-07 |
Shorten some debug output to make storing commands in queue quicker. | 2015-03-07 |
Send DeviceInfo and Battery status twice after start up (inserting battery). Minor code beautifications. | 2015-03-02 |
Show number of measurements to take in debug message. | 2015-03-01 |
Add SmoothingPercentage as e2p value. This is the size of a moving window in which the absolute humidity (0 to 100 percent) is smoothed. This is necessary because the raw values typically show some short term variation, depending on external circumstances (plant in sunlight or above radiator). The variation also depends on the thickness of isolation above the sensor plates. | 2015-03-01 |
20150301 master_v0.9.0-0-gec1ee4e | Download |
TAG: Add new device soil moisture meter (schematics, layout and firmware). Speed up encryption/decryption drastically by using other AES lib. Support additional sensors in EnvSensor: HTU21d (I2C, humidity + temperature), DS18S20/DS18B20 (1-wire, temperature). Reduce power consumption to ~1.8µA at EnvSensor by switching off BOD in sleep mode. Support DeviceInfo message (containing DeviceType + firmware version) at all devices. Send Error Ack for messages which are not supported at all devices. Several minor fixes. | 2024-04-25 |
shc_fhem (develop)
20230530 develop_v0.10.1-245-g8685b32 | Download |
---|---|
When a menu selection is "delivered" by a controller to FHEM, then set additionally the reading menuSelectionDelivery to distinguish this compared to a menu selection change initiated by a FHEM "set" command. This can be used to keep several controllers in sync. | 2023-05-29 |
20230517 develop_v0.10.1-238-g6dd3951 | Download |
Fix support for receiving "Deliver" type message. | 2023-05-16 |
FHEM: Use "Set" instead of "SetGet" when sending Controller-Text message. This reduces the size of the answer from the controller. | 2023-05-16 |
FHEM support for messages Controller-MenuSelection and Controller-Backlight. | 2023-05-16 |
20230510 develop_v0.10.1-228-ge8a20ab | Download |
20230426 develop_v0.10.1-227-gad8d6ca | Download |
20230420 develop_v0.10.1-221-gc1eb954 | Download |
Support reception of Controller-MenuSelection message in FHEM. Support that the user can use \x (1-8) to show user defined characters on the LCD. | 2023-04-19 |
20230414 develop_v0.10.1-205-g3499999 | Download |
20230412 develop_v0.10.1-198-g8e9d619 | Download |
20230313 develop_v0.10.1-190-g2ca2db9 | Download |
Find a solution to have spaces in the text when using the "Text" message in FHEM: Use underline for spaces. Escape them with backslash to have an underline. | 2023-03-12 |
Add FHEM SHC parser test case for controller device. | 2023-03-12 |
Support Controller device in FHEM. | 2023-03-12 |
Support ByteArray type in FHEM. | 2023-03-12 |
20230311 develop_v0.10.1-182-g117be7e | Download |
Add shell script to start SHC_parser_test. | 2023-03-06 |
20230301 develop_v0.10.1-164-ge6a0db6 | Download |
Implement "Tone" and "Melody" functions from "Audio" message group for FHEM. | 2023-02-06 |
Update FHEM files to what is in the FHEM repo. | 2023-02-06 |
20230206 develop_v0.10.1-159-g58ff07d | Download |
20230204 develop_v0.10.1-158-g4420133 | Download |
20221125 develop_v0.10.1-136-g01b4871 | Download |
20221004 develop_v0.10.1-132-g14197be | Download |
Remove deprecated messages from message catalog. | 2022-10-03 |
20221001 develop_v0.10.1-127-g19214ee | Download |
Avoid using experimental given/when feature of Perl. Use if-elsif instead. | 2022-09-30 |
20220929 develop_v0.10.1-126-g7e6cf15 | Download |
Use "use DevIO;" instead of "require", as needed for FHEM now. | 2022-09-28 |
20220924 develop_v0.10.1-120-gef383c9 | Download |
Update FHEM module for smarthomatic. Update default baudrate of base station to 115200. Update description. | 2022-09-21 |
Adapt fhem parser test script to updated packet layout for PM sensor. | 2019-12-28 |
20191118 develop_v0.10.1-111-gfd16790 | Download |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
20191117 develop_v0.10.1-110-g23b294b | Download |
Add test code for FHEM SHC parser for ParticulateMatter message. | 2019-11-16 |
Support new FloatValue type in FHEM implementation. | 2019-11-16 |
Support ParticulateMatter message in FHEM SHC device. | 2019-11-16 |
20160424 develop_v0.10.1-65-g67459da | Download |
20151030 develop_v0.10.1-34-g0578486 | Download |
20150622 develop_v0.10.1-16-g1d2ec9d | Download |
Fix variable access. | 2015-06-21 |
Add test case for HardwareError message. | 2015-06-21 |
Fix: Remember enum definitions per enum. Before, the mapping was overwritten when the parser initialized the following enum value mapping. | 2015-06-21 |
Add HardwareError message to FHEM parser. | 2015-06-21 |
20150524 develop_v0.10.1-6-g29ed99b | Download |
20150518 develop_v0.10.1-1-g6c76ffe | Download |
Merge branch 'master' of github.com:breaker27/smarthomatic | 2015-05-16 |
fhem: merge svn commit to sync svn commit id to git repo | 2015-03-10 |
20150502 develop_v0.9.0-rc.5-49-gb771104 | Download |
Remember PacketCounter of the device from which a message was received. | 2015-05-01 |
Sleep for 250 milliseconds after sending a string over UART to the base station to make sure it can process the command before the next is sent. | 2015-05-01 |
20150309 develop_v0.9.0-rc.5-44-gf0d2408 | Download |
Correct regular expressions and dispose "PKT:SID=0;" strings (which are from the messages originally sent by FHEM itself). | 2015-03-08 |
Change regexp to require numbers to have one character at least. | 2015-03-08 |
Strip trailing zeros in string to send to base station to speed up sending in some cases. | 2015-03-08 |
Change test packets to new format. | 2015-03-08 |
Use new command of base station which includes a CRC suffix. | 2015-03-08 |
Change debug message formats according to changed base station behavior. Log CRC Error with verbosity 1. | 2015-03-08 |
Check CRC from received packets. If it does not match, write log message (search for "CRC Error in FHEM logfiles") and ignore the packet. | 2015-03-08 |
20150307 develop_v0.9.0-rc.5-30-gae9c9a6 | Download |
Add CRC32 at the end of the packet data string. Abbreviate field names in the received packet that is printed on the serial line. This reduces the delay for transferring data from/to the server (e.g. FHEM). But is also needs a change in the FHEM module. | 2015-03-07 |
20150303 develop_v0.9.0-rc.5-21-g052a55f | Download |
Beautify code. | 2015-03-02 |
Merge commit '6f09633' into develop | 2015-03-02 |
add brightness slider to fhem for rgbdimmer | 2015-02-14 |
20150301 develop_v0.9.0-rc.5-9-gc173af6 | Download |
FHEM: Correct devStateIcon for PowerSwitch in case more than the 1st channel/pin is used. | 2015-02-28 |
20150226 develop_v0.9.0-rc.5-1-geddbd48 | Download |
Fix devStateIcon string. | 2015-02-25 |
20150216 develop_v0.7.0-rc.1-151-g2232d39 | Download |
Fix link in FHEM documentation. | 2015-02-15 |
Set DevStateIcon for SoilMoistureMeter. | 2015-02-15 |
Change condition format for toggle. Correct DevStateIcon so toggling works by clicking the icon. | 2015-02-15 |
fix fhem toggle web command for power switch | 2015-02-14 |
Add test message with negative temperature. | 2015-02-08 |
20150105 develop_v0.7.0-rc.1-132-g2e5d5de | Download |
Use DeviceInfo message to set DeviceType. Rename DeviceType strings according definition in XML file. | 2015-01-04 |
20141117 develop_v0.7.0-rc.1-117-gaafd1c8 | Download |
20141015 develop_v0.7.0-rc.1-111-gcb1ebbe | Download |
Add test case. | 2014-10-14 |
Fix parameter order. | 2014-10-14 |
20141010 develop_v0.7.0-rc.1-108-g563a108 | Download |
Correct reading values of DigitalPin message in test script. Add test message string. | 2014-10-09 |
Set "On" value additionally when DigitalPort(Timeout) message received. | 2014-10-09 |
Correct message names. | 2014-10-09 |
20141005 develop_v0.7.0-rc.1-100-ga92a9e7 | Download |
fhem: update documentation | 2014-10-04 |
fhem: use pin & port instead of din & dins | 2014-10-04 |
fhem: convert deprecated SwitchState messages | 2014-10-04 |
fhem: added support to set DigitalPins and DigitalPorts also DigitalPinTimeout and DigitalPortTimeout | 2014-10-04 |
fhem: added Rx support new PowerSwitch messages reception of DigitalPortTimeout autoassign devtype adjust state format | 2014-10-04 |
fhem: added support for soil moisture meter added Wheather.Humidity message added auto device detection update documentation | 2014-10-02 |
Test new DigitalPinTimeout message instead of old SwitchState message. | 2014-10-03 |
20140929 develop_v0.7.0-rc.1-80-geec77d7 | Download |
Update to current test messages. | 2014-09-28 |
Fix parsing of negative values (Int). | 2014-09-28 |
20140928 develop_v0.7.0-rc.1-78-g85f7def | Download |
20140921 develop_v0.7.0-rc.1-61-g9189e46 | Download |
backport SVN commit ID from fhem repo | 2014-09-20 |
fhem - RGB_Dimmer: improve docu | 2014-08-18 |
20140916 develop_v0.7.0-rc.1-58-g7f23e17 | Download |
Support truncated messages by filling up enough empty bytes in the data array after reception. | 2014-09-16 |
20140818 develop_v0.7.0-rc.1-46-ga3154f5 | Download |
Use better test case. | 2014-08-17 |
fhem - RGB_Dimmer: update doku | 2014-08-11 |
fhem - RGB_Dimmer: add parser and set function for ColorAnimation | 2014-08-11 |
fhem - RGB_Dimmer: add set function | 2014-08-04 |
fhem - RGB_Dimmer: add parser function | 2014-08-04 |
fhem - RGB_Dimmer: add defines for new device | 2014-08-04 |
20140807 develop_v0.7.0-rc.1-36-gea1c116 | Download |
Support structured arrays (arrays with several sub-elements). FIX byte offset calculation in setUInt function. FIX initialization of data buffer used for packets to send. Set default AES key to 0 if none is given as argument in getSendString function. | 2014-08-06 |
20140804 develop_v0.7.0-rc.1-32-ga2ffbe9 | Download |
20140727 develop_v0.7.0-rc.1-27-gafc0018 | Download |
20140722 develop_v0.7.0-rc.1-16-g4335fd0 | Download |
20140707 develop_v0.5.0-220-g90c314b | Download |
Change path of file to exclude. | 2014-07-07 |
analog in: use ain and din as unique identifier for digital and analog inputs | 2014-07-07 |
analog in: add new msg type to get function | 2014-07-07 |
analog in: add new msg type to parser function | 2014-07-07 |
merge last svn commit | 2014-07-05 |
move SHC_packet_layout.xml under subdir lib/ as requested from the FHEM developer | 2014-06-29 |
20140703 develop_v0.5.0-212-gd9818d7 | Download |
Support arrays of IntValue, UIntValue and EnumValue in FHEM parser. | 2014-07-02 |
Change .gitignore to reflect new name of xml file. | 2014-07-02 |
20140629 develop_v0.5.0-206-g139bd55 | Download |
20140628 develop_v0.5.0-202-g46d3e24 | Download |
20140613 develop_v0.5.0-177-g2f8b8ff | Download |
move devtype from internals to attributes | 2014-06-12 |
rename 37_SHC_Dev.pm to 37_SHCdev.pm no underscores in the device name | 2014-06-11 |
20140602 develop_v0.5.0-161-g08d3831 | Download |
Add symlink to packet_layout.xml | 2014-06-01 |
Harmonise file headers and SVN Id-Tag | 2014-05-30 |
improved support for get input command avoid careless checking of $hash->{READINGS}{pins}{VAL} better error messages | 2014-05-27 |
comment out debug prints | 2014-05-27 |
bugfix: phantom readings remove corresponing work around and debug code | 2014-05-27 |
20140527 develop_v0.5.0-151-ge0b7a1e | Download |
extend workaround to correct wrong readings entries Before the workaround was only applied to barometric_pressure. Now all other affected readings are cleaned up as well. | 2014-05-26 |
update html documentation by running "perl contrib/commandref_join.pl" the commandref can be refreshed and verified. | 2014-05-26 |
rename packet_layout.xml to SHC_packet_layout.xml | 2014-05-26 |
bugfix: assemble state string correctly for dimmer device The bugfix in commit id 30bd0677224 only fixes the state string creation for the power switch, but breaks it for the dimmer. The define statement for the dimmer is different from the power switch because the state string also contains the brightness (e.g. "on B: 100") Use define SHC_DIM_60_notify_on notify SHC_DIM_60:on.B:.100 | 2014-05-26 |
bugfix: rename readings entry as well (in -> pins) | 2014-05-26 |
Merge pull request #76 from Roadyweb/fhem_update Fhem update | 2014-05-26 |
bugfix: notify doesnt work | 2014-05-26 |
remove copy & paste remains in svn id info | 2014-05-26 |
add gitignore file to filter out XML files that are used for testing | 2014-05-25 |
add GPL license info | 2014-05-13 |
review 37_SHC.pm and remove dead code | 2014-05-13 |
remove useless info in SHC_Dev->internals (PaketCounter and MsgData) | 2014-05-13 |
rename in -> pin, port -> pin | 2014-05-13 |
implement get commands for EnvSenor inputs | 2014-05-12 |
correctly support set commands The fhem web interface now shows the correct set commands according to the device type | 2014-05-12 |
fhem: add digital inputs to fhem device readings | 2014-05-11 |
20140511 develop_v0.5.0-127-g1e35889 | Download |
Support GPIO.DigitalPin message (only the 1st pin currently). | 2014-05-11 |
Add support for Arrays of BoolValues (other types will follow as needed). | 2014-05-11 |
proposal for extended command set implementation (independent of device type) | 2014-05-09 |
add distance to fhem state string | 2014-05-09 |
refactor automatic device type assignment (now . delimiter) | 2014-05-09 |
bugfix: remove invalid barometric pressure reading Without receiving the BarometricPressureTemperature message a barometric reading gets added. This happens especially after a fhem restart. The root cause is not easy to debug and still unknown. Add this workaround to avoid wrong/invalid entries in the device reading table | 2014-05-09 |
refactor set commands define a array with device specific set of cmds and check against allow to set the devtype through a new set command | 2014-05-08 |
refactor state string creation use lookup table do assemble state string | 2014-05-02 |
refactor adding webCmds and devStateIcons use lookup table do define webCmds and devStateIcons | 2014-05-02 |
20140507 develop_v0.5.0-110-gada1ea5 | Download |
Add distance message to FHEM module. | 2014-05-06 |
20140503 develop_v0.5.0-106-g123966d | Download |
add perltidy config file | 2014-05-02 |
use perltidy to enforce coding style for SHC_datafields.pm and SHC_parser.pm | 2014-05-02 |
use perltidy to enforce coding style | 2014-05-01 |
20140502 develop_v0.5.0-100-g0448324 | Download |
implement statusRequest with Get meassge for dimmer and powerswitch | 2014-05-01 |
remove superfluous comment (AckStatus pakets are already handeled) | 2014-05-01 |
assemble state info from latest readings | 2014-05-01 |
more verbose logging of SHC messages | 2014-05-01 |
move msg details to hash->Internals | 2014-04-27 |
bugfix: until device name is available use SHC_TEMP in logs | 2014-04-27 |
20140427 develop_v0.5.0-91-g2f1d533 | Download |
Support new message groups "Weather" and "Environment". | 2014-04-26 |
20140420 develop_v0.5.0-79-gfb7996d | Download |
shc_fhem (release)
20230729 release_v0.13.0-rc.1-0-gb18cbf0 | Download |
---|---|
When a menu selection is "delivered" by a controller to FHEM, then set additionally the reading menuSelectionDelivery to distinguish this compared to a menu selection change initiated by a FHEM "set" command. This can be used to keep several controllers in sync. | 2023-05-29 |
Fix support for receiving "Deliver" type message. | 2023-05-16 |
FHEM: Use "Set" instead of "SetGet" when sending Controller-Text message. This reduces the size of the answer from the controller. | 2023-05-16 |
FHEM support for messages Controller-MenuSelection and Controller-Backlight. | 2023-05-16 |
Support reception of Controller-MenuSelection message in FHEM. Support that the user can use \x (1-8) to show user defined characters on the LCD. | 2023-04-19 |
Find a solution to have spaces in the text when using the "Text" message in FHEM: Use underline for spaces. Escape them with backslash to have an underline. | 2023-03-12 |
Add FHEM SHC parser test case for controller device. | 2023-03-12 |
Support Controller device in FHEM. | 2023-03-12 |
Support ByteArray type in FHEM. | 2023-03-12 |
Add shell script to start SHC_parser_test. | 2023-03-06 |
Implement "Tone" and "Melody" functions from "Audio" message group for FHEM. | 2023-02-06 |
Update FHEM files to what is in the FHEM repo. | 2023-02-06 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Avoid using experimental given/when feature of Perl. Use if-elsif instead. | 2022-09-30 |
Use "use DevIO;" instead of "require", as needed for FHEM now. | 2022-09-28 |
Update FHEM module for smarthomatic. Update default baudrate of base station to 115200. Update description. | 2022-09-21 |
20220906 release_v0.12.0-rc.1-0-ga8c1fc0 | Download |
Adapt fhem parser test script to updated packet layout for PM sensor. | 2019-12-28 |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Add test code for FHEM SHC parser for ParticulateMatter message. | 2019-11-16 |
Support new FloatValue type in FHEM implementation. | 2019-11-16 |
Support ParticulateMatter message in FHEM SHC device. | 2019-11-16 |
20151212 release_v0.11.0-rc.1-0-g3042e25 | Download |
Fix variable access. | 2015-06-21 |
Add test case for HardwareError message. | 2015-06-21 |
Fix: Remember enum definitions per enum. Before, the mapping was overwritten when the parser initialized the following enum value mapping. | 2015-06-21 |
Add HardwareError message to FHEM parser. | 2015-06-21 |
Merge branch 'master' of github.com:breaker27/smarthomatic | 2015-05-16 |
fhem: merge svn commit to sync svn commit id to git repo | 2015-03-10 |
20150502 release_v0.10.0-rc.1-0-g39b1b02 | Download |
Remember PacketCounter of the device from which a message was received. | 2015-05-01 |
Sleep for 250 milliseconds after sending a string over UART to the base station to make sure it can process the command before the next is sent. | 2015-05-01 |
Correct regular expressions and dispose "PKT:SID=0;" strings (which are from the messages originally sent by FHEM itself). | 2015-03-08 |
Change regexp to require numbers to have one character at least. | 2015-03-08 |
Strip trailing zeros in string to send to base station to speed up sending in some cases. | 2015-03-08 |
Change test packets to new format. | 2015-03-08 |
Use new command of base station which includes a CRC suffix. | 2015-03-08 |
Change debug message formats according to changed base station behavior. Log CRC Error with verbosity 1. | 2015-03-08 |
Check CRC from received packets. If it does not match, write log message (search for "CRC Error in FHEM logfiles") and ignore the packet. | 2015-03-08 |
Add CRC32 at the end of the packet data string. Abbreviate field names in the received packet that is printed on the serial line. This reduces the delay for transferring data from/to the server (e.g. FHEM). But is also needs a change in the FHEM module. | 2015-03-07 |
Beautify code. | 2015-03-02 |
Merge commit '6f09633' into develop | 2015-03-02 |
add brightness slider to fhem for rgbdimmer | 2015-02-14 |
20150228 release_v0.9.0-rc.6-0-g9c554b6 | Download |
FHEM: Correct devStateIcon for PowerSwitch in case more than the 1st channel/pin is used. | 2015-02-28 |
20150225 release_v0.9.0-rc.5-0-gb29fe3e | Download |
Fix devStateIcon string. | 2015-02-25 |
20150215 release_v0.9.0-rc.2-0-g3ec003b | Download |
Fix link in FHEM documentation. | 2015-02-15 |
Set DevStateIcon for SoilMoistureMeter. | 2015-02-15 |
Change condition format for toggle. Correct DevStateIcon so toggling works by clicking the icon. | 2015-02-15 |
fix fhem toggle web command for power switch | 2015-02-14 |
20150208 release_v0.9.0-rc.1-0-ga724183 | Download |
Add test message with negative temperature. | 2015-02-08 |
Use DeviceInfo message to set DeviceType. Rename DeviceType strings according definition in XML file. | 2015-01-04 |
Add test case. | 2014-10-14 |
Fix parameter order. | 2014-10-14 |
Correct reading values of DigitalPin message in test script. Add test message string. | 2014-10-09 |
Set "On" value additionally when DigitalPort(Timeout) message received. | 2014-10-09 |
Correct message names. | 2014-10-09 |
fhem: update documentation | 2014-10-04 |
fhem: use pin & port instead of din & dins | 2014-10-04 |
fhem: convert deprecated SwitchState messages | 2014-10-04 |
fhem: added support to set DigitalPins and DigitalPorts also DigitalPinTimeout and DigitalPortTimeout | 2014-10-04 |
fhem: added Rx support new PowerSwitch messages reception of DigitalPortTimeout autoassign devtype adjust state format | 2014-10-04 |
fhem: added support for soil moisture meter added Wheather.Humidity message added auto device detection update documentation | 2014-10-02 |
Test new DigitalPinTimeout message instead of old SwitchState message. | 2014-10-03 |
Update to current test messages. | 2014-09-28 |
Fix parsing of negative values (Int). | 2014-09-28 |
backport SVN commit ID from fhem repo | 2014-09-20 |
fhem - RGB_Dimmer: improve docu | 2014-08-18 |
20140916 release_v0.8.0-rc.1-0-gfe3f648 | Download |
Support truncated messages by filling up enough empty bytes in the data array after reception. | 2014-09-16 |
Use better test case. | 2014-08-17 |
fhem - RGB_Dimmer: update doku | 2014-08-11 |
fhem - RGB_Dimmer: add parser and set function for ColorAnimation | 2014-08-11 |
fhem - RGB_Dimmer: add set function | 2014-08-04 |
fhem - RGB_Dimmer: add parser function | 2014-08-04 |
fhem - RGB_Dimmer: add defines for new device | 2014-08-04 |
Support structured arrays (arrays with several sub-elements). FIX byte offset calculation in setUInt function. FIX initialization of data buffer used for packets to send. Set default AES key to 0 if none is given as argument in getSendString function. | 2014-08-06 |
20140710 release_v0.7.0-rc.1-0-g309c9d6 | Download |
Change path of file to exclude. | 2014-07-07 |
analog in: use ain and din as unique identifier for digital and analog inputs | 2014-07-07 |
analog in: add new msg type to get function | 2014-07-07 |
analog in: add new msg type to parser function | 2014-07-07 |
merge last svn commit | 2014-07-05 |
move SHC_packet_layout.xml under subdir lib/ as requested from the FHEM developer | 2014-06-29 |
Support arrays of IntValue, UIntValue and EnumValue in FHEM parser. | 2014-07-02 |
Change .gitignore to reflect new name of xml file. | 2014-07-02 |
move devtype from internals to attributes | 2014-06-12 |
rename 37_SHC_Dev.pm to 37_SHCdev.pm no underscores in the device name | 2014-06-11 |
Add symlink to packet_layout.xml | 2014-06-01 |
Harmonise file headers and SVN Id-Tag | 2014-05-30 |
improved support for get input command avoid careless checking of $hash->{READINGS}{pins}{VAL} better error messages | 2014-05-27 |
comment out debug prints | 2014-05-27 |
bugfix: phantom readings remove corresponing work around and debug code | 2014-05-27 |
extend workaround to correct wrong readings entries Before the workaround was only applied to barometric_pressure. Now all other affected readings are cleaned up as well. | 2014-05-26 |
update html documentation by running "perl contrib/commandref_join.pl" the commandref can be refreshed and verified. | 2014-05-26 |
rename packet_layout.xml to SHC_packet_layout.xml | 2014-05-26 |
bugfix: assemble state string correctly for dimmer device The bugfix in commit id 30bd0677224 only fixes the state string creation for the power switch, but breaks it for the dimmer. The define statement for the dimmer is different from the power switch because the state string also contains the brightness (e.g. "on B: 100") Use define SHC_DIM_60_notify_on notify SHC_DIM_60:on.B:.100 | 2014-05-26 |
bugfix: rename readings entry as well (in -> pins) | 2014-05-26 |
Merge pull request #76 from Roadyweb/fhem_update Fhem update | 2014-05-26 |
bugfix: notify doesnt work | 2014-05-26 |
remove copy & paste remains in svn id info | 2014-05-26 |
add gitignore file to filter out XML files that are used for testing | 2014-05-25 |
add GPL license info | 2014-05-13 |
review 37_SHC.pm and remove dead code | 2014-05-13 |
remove useless info in SHC_Dev->internals (PaketCounter and MsgData) | 2014-05-13 |
rename in -> pin, port -> pin | 2014-05-13 |
implement get commands for EnvSenor inputs | 2014-05-12 |
correctly support set commands The fhem web interface now shows the correct set commands according to the device type | 2014-05-12 |
fhem: add digital inputs to fhem device readings | 2014-05-11 |
Support GPIO.DigitalPin message (only the 1st pin currently). | 2014-05-11 |
Add support for Arrays of BoolValues (other types will follow as needed). | 2014-05-11 |
proposal for extended command set implementation (independent of device type) | 2014-05-09 |
add distance to fhem state string | 2014-05-09 |
refactor automatic device type assignment (now . delimiter) | 2014-05-09 |
bugfix: remove invalid barometric pressure reading Without receiving the BarometricPressureTemperature message a barometric reading gets added. This happens especially after a fhem restart. The root cause is not easy to debug and still unknown. Add this workaround to avoid wrong/invalid entries in the device reading table | 2014-05-09 |
refactor set commands define a array with device specific set of cmds and check against allow to set the devtype through a new set command | 2014-05-08 |
refactor state string creation use lookup table do assemble state string | 2014-05-02 |
refactor adding webCmds and devStateIcons use lookup table do define webCmds and devStateIcons | 2014-05-02 |
Add distance message to FHEM module. | 2014-05-06 |
20140506 release_v0.6.0-rc.1-0-g8900514 | Download |
shc_fhem (master)
20230730 master_v0.13.0-0-g278c0ec | Download |
---|---|
TAG: *General:* Support "deliver" message to ensure that the base station received a message sent by a device (used by controller device). Support 64 byte packets. Support ATMega1284 and 4kB e2p. Improve collision detection timing. *Controller:* New device which acts as user interface. Supports LCD text display, RGB LED, speaker and buttons to navigate through a menu with options defined in e2p. Can be used as control interface for smart home functions. *Powerswitch:* Support for On/Off delay that is used when a status change is triggered by the optional switch. Put relais state into status message. Fix version status cycle. *RGB Dimmer:* HW break! Pins for RGB LEDs changed to have common source code with controller device. Support "tone" and "melody" message to play (warning) melodies / alerts. *FHEM:* Update modules to be used with new controller device. Use default baud rate of 115200. Avoid "require" keyword and "given/when". | 2024-04-25 |
When a menu selection is "delivered" by a controller to FHEM, then set additionally the reading menuSelectionDelivery to distinguish this compared to a menu selection change initiated by a FHEM "set" command. This can be used to keep several controllers in sync. | 2023-05-29 |
Fix support for receiving "Deliver" type message. | 2023-05-16 |
FHEM: Use "Set" instead of "SetGet" when sending Controller-Text message. This reduces the size of the answer from the controller. | 2023-05-16 |
FHEM support for messages Controller-MenuSelection and Controller-Backlight. | 2023-05-16 |
Support reception of Controller-MenuSelection message in FHEM. Support that the user can use \x (1-8) to show user defined characters on the LCD. | 2023-04-19 |
Find a solution to have spaces in the text when using the "Text" message in FHEM: Use underline for spaces. Escape them with backslash to have an underline. | 2023-03-12 |
Add FHEM SHC parser test case for controller device. | 2023-03-12 |
Support Controller device in FHEM. | 2023-03-12 |
Support ByteArray type in FHEM. | 2023-03-12 |
Add shell script to start SHC_parser_test. | 2023-03-06 |
Implement "Tone" and "Melody" functions from "Audio" message group for FHEM. | 2023-02-06 |
Update FHEM files to what is in the FHEM repo. | 2023-02-06 |
Remove deprecated messages from message catalog. | 2022-10-03 |
Avoid using experimental given/when feature of Perl. Use if-elsif instead. | 2022-09-30 |
Use "use DevIO;" instead of "require", as needed for FHEM now. | 2022-09-28 |
Update FHEM module for smarthomatic. Update default baudrate of base station to 115200. Update description. | 2022-09-21 |
20220906 master_v0.12.0-0-gec025f0 | Download |
TAG: EnvSensor: Support ParticulateMatter sensor. Support FloatValue type in e2p. Add tea maker project (currently not being worked on). Add shutter control HW. Generic maxi speed 1.2 introduces transistor to switch RFM module on/off. Support transceiver timeout to restart RFM12 if needed. Allow to edit strings as array in e2p editor. | 2024-04-25 |
Adapt fhem parser test script to updated packet layout for PM sensor. | 2019-12-28 |
Envsensor: Add PowerPinMode e2p config option. This allows to switch the power pin explicitly on before i2c measurement for sensors that need the 5V step-up converter. Before, it was implicitly switched on depending on the sensor type. Minimize ParticulateMatter message to fit into 32 bytes (Status message). | 2019-11-17 |
Add test code for FHEM SHC parser for ParticulateMatter message. | 2019-11-16 |
Support new FloatValue type in FHEM implementation. | 2019-11-16 |
Support ParticulateMatter message in FHEM SHC device. | 2019-11-16 |
20160103 master_v0.11.0-0-gfa208fc | Download |
TAG: Increase stability of devices which send and receive and have sporadic hangs of RFM module: Added configurable (optional) watchdog to reset ATMega and RFM12B when nothing is received some time. Add HardwareError message to FHEM parser to log the error cases. Update Soil Moisture Meter PCB (V1.2) with 6-pin ISP connector including VCC pin. Update Dimmer PCB (V1.3), Power Switch PCB (V1.1), Generic Maxi Speed PCB (V1.1) by added VCC pin on ISP connector and/or connection of RFM power pin to an I/O pin for shutting it off in case of a hang. Added new Generic Micro 2 SMD PCB (V1.0) which is compatible to a Generic Midi and can be used as a smaller EnvSensor device. | 2024-04-25 |
Fix variable access. | 2015-06-21 |
Add test case for HardwareError message. | 2015-06-21 |
Fix: Remember enum definitions per enum. Before, the mapping was overwritten when the parser initialized the following enum value mapping. | 2015-06-21 |
Add HardwareError message to FHEM parser. | 2015-06-21 |
20150517 master_v0.10.1-0-g9d85b61 | Download |
TAG: Hotfix for buggy CRC check with GCC 4.7.2 on linux (which my build robot uses under linux). | 2024-04-25 |
Merge branch 'master' of github.com:breaker27/smarthomatic | 2015-05-16 |
fhem: merge svn commit to sync svn commit id to git repo | 2015-03-10 |
20150516 master_v0.10.0-0-g6ecdef6 | Download |
TAG: Speed up of communication to/from base station by supporting 115200 baud on UART and shortening strings. Reaction on a command over UART until encrypted packet is sent is now under 20ms! Add CRC32 at the end of the packet data string to secure sommunication from base station to PC (fhem). Add command to the base station where the user suffixes his input with a CRC32 (8 characters). If it doesn't match, the command is ignored. This is to be safe against interferences/problems on the serial line. Add SmoothingPercentage parameter to SoilMoistureMeter to smooth reported humidity values. | 2024-04-25 |
Remember PacketCounter of the device from which a message was received. | 2015-05-01 |
Sleep for 250 milliseconds after sending a string over UART to the base station to make sure it can process the command before the next is sent. | 2015-05-01 |
Correct regular expressions and dispose "PKT:SID=0;" strings (which are from the messages originally sent by FHEM itself). | 2015-03-08 |
Change regexp to require numbers to have one character at least. | 2015-03-08 |
Strip trailing zeros in string to send to base station to speed up sending in some cases. | 2015-03-08 |
Change test packets to new format. | 2015-03-08 |
Use new command of base station which includes a CRC suffix. | 2015-03-08 |
Change debug message formats according to changed base station behavior. Log CRC Error with verbosity 1. | 2015-03-08 |
Check CRC from received packets. If it does not match, write log message (search for "CRC Error in FHEM logfiles") and ignore the packet. | 2015-03-08 |
Add CRC32 at the end of the packet data string. Abbreviate field names in the received packet that is printed on the serial line. This reduces the delay for transferring data from/to the server (e.g. FHEM). But is also needs a change in the FHEM module. | 2015-03-07 |
Beautify code. | 2015-03-02 |
Merge commit '6f09633' into develop | 2015-03-02 |
add brightness slider to fhem for rgbdimmer | 2015-02-14 |
20150301 master_v0.9.0-0-gec1ee4e | Download |
TAG: Add new device soil moisture meter (schematics, layout and firmware). Speed up encryption/decryption drastically by using other AES lib. Support additional sensors in EnvSensor: HTU21d (I2C, humidity + temperature), DS18S20/DS18B20 (1-wire, temperature). Reduce power consumption to ~1.8µA at EnvSensor by switching off BOD in sleep mode. Support DeviceInfo message (containing DeviceType + firmware version) at all devices. Send Error Ack for messages which are not supported at all devices. Several minor fixes. | 2024-04-25 |
FHEM: Correct devStateIcon for PowerSwitch in case more than the 1st channel/pin is used. | 2015-02-28 |
Fix devStateIcon string. | 2015-02-25 |
Fix link in FHEM documentation. | 2015-02-15 |
Set DevStateIcon for SoilMoistureMeter. | 2015-02-15 |
Change condition format for toggle. Correct DevStateIcon so toggling works by clicking the icon. | 2015-02-15 |
fix fhem toggle web command for power switch | 2015-02-14 |
Add test message with negative temperature. | 2015-02-08 |
Use DeviceInfo message to set DeviceType. Rename DeviceType strings according definition in XML file. | 2015-01-04 |
Add test case. | 2014-10-14 |
Fix parameter order. | 2014-10-14 |
Correct reading values of DigitalPin message in test script. Add test message string. | 2014-10-09 |
Set "On" value additionally when DigitalPort(Timeout) message received. | 2014-10-09 |
Correct message names. | 2014-10-09 |
fhem: update documentation | 2014-10-04 |
fhem: use pin & port instead of din & dins | 2014-10-04 |
fhem: convert deprecated SwitchState messages | 2014-10-04 |
fhem: added support to set DigitalPins and DigitalPorts also DigitalPinTimeout and DigitalPortTimeout | 2014-10-04 |
fhem: added Rx support new PowerSwitch messages reception of DigitalPortTimeout autoassign devtype adjust state format | 2014-10-04 |
fhem: added support for soil moisture meter added Wheather.Humidity message added auto device detection update documentation | 2014-10-02 |
Test new DigitalPinTimeout message instead of old SwitchState message. | 2014-10-03 |
Update to current test messages. | 2014-09-28 |
Fix parsing of negative values (Int). | 2014-09-28 |
backport SVN commit ID from fhem repo | 2014-09-20 |
fhem - RGB_Dimmer: improve docu | 2014-08-18 |
20140921 master_v0.8.0-0-gc0ed0c3 | Download |
TAG: Implement RGB dimmer firmware. Support Color and ColorAnimation message for an animation (fading) of several colors, using repeat and autoreverse parameters for different visual effects. BaseStation: Automatically truncate empty bytes in messages before sending. Fix sending packets > 16 bytes. Avoid request queue for broadcast requests. | 2024-04-25 |
Support truncated messages by filling up enough empty bytes in the data array after reception. | 2014-09-16 |
Use better test case. | 2014-08-17 |
fhem - RGB_Dimmer: update doku | 2014-08-11 |
fhem - RGB_Dimmer: add parser and set function for ColorAnimation | 2014-08-11 |
fhem - RGB_Dimmer: add set function | 2014-08-04 |
fhem - RGB_Dimmer: add parser function | 2014-08-04 |
fhem - RGB_Dimmer: add defines for new device | 2014-08-04 |
Support structured arrays (arrays with several sub-elements). FIX byte offset calculation in setUInt function. FIX initialization of data buffer used for packets to send. Set default AES key to 0 if none is given as argument in getSendString function. | 2014-08-06 |
20140728 master_v0.7.0-0-g0e996cc | Download |
TAG: EnvSensor: add digital + analog input support, configurable wake-up / measuring times. Add support for SRF02 ultrasonic distance sensor. E2PEditor: Handling of default values for config options, incl. coloring of modified values. | 2024-04-25 |
Change path of file to exclude. | 2014-07-07 |
analog in: use ain and din as unique identifier for digital and analog inputs | 2014-07-07 |
analog in: add new msg type to get function | 2014-07-07 |
analog in: add new msg type to parser function | 2014-07-07 |
merge last svn commit | 2014-07-05 |
move SHC_packet_layout.xml under subdir lib/ as requested from the FHEM developer | 2014-06-29 |
Support arrays of IntValue, UIntValue and EnumValue in FHEM parser. | 2014-07-02 |
Change .gitignore to reflect new name of xml file. | 2014-07-02 |
move devtype from internals to attributes | 2014-06-12 |
rename 37_SHC_Dev.pm to 37_SHCdev.pm no underscores in the device name | 2014-06-11 |
Add symlink to packet_layout.xml | 2014-06-01 |
Harmonise file headers and SVN Id-Tag | 2014-05-30 |
improved support for get input command avoid careless checking of $hash->{READINGS}{pins}{VAL} better error messages | 2014-05-27 |
comment out debug prints | 2014-05-27 |
bugfix: phantom readings remove corresponing work around and debug code | 2014-05-27 |
extend workaround to correct wrong readings entries Before the workaround was only applied to barometric_pressure. Now all other affected readings are cleaned up as well. | 2014-05-26 |
update html documentation by running "perl contrib/commandref_join.pl" the commandref can be refreshed and verified. | 2014-05-26 |
rename packet_layout.xml to SHC_packet_layout.xml | 2014-05-26 |
bugfix: assemble state string correctly for dimmer device The bugfix in commit id 30bd0677224 only fixes the state string creation for the power switch, but breaks it for the dimmer. The define statement for the dimmer is different from the power switch because the state string also contains the brightness (e.g. "on B: 100") Use define SHC_DIM_60_notify_on notify SHC_DIM_60:on.B:.100 | 2014-05-26 |
bugfix: rename readings entry as well (in -> pins) | 2014-05-26 |
Merge pull request #76 from Roadyweb/fhem_update Fhem update | 2014-05-26 |
bugfix: notify doesnt work | 2014-05-26 |
remove copy & paste remains in svn id info | 2014-05-26 |
add gitignore file to filter out XML files that are used for testing | 2014-05-25 |
add GPL license info | 2014-05-13 |
review 37_SHC.pm and remove dead code | 2014-05-13 |
remove useless info in SHC_Dev->internals (PaketCounter and MsgData) | 2014-05-13 |
rename in -> pin, port -> pin | 2014-05-13 |
implement get commands for EnvSenor inputs | 2014-05-12 |
correctly support set commands The fhem web interface now shows the correct set commands according to the device type | 2014-05-12 |
fhem: add digital inputs to fhem device readings | 2014-05-11 |
Support GPIO.DigitalPin message (only the 1st pin currently). | 2014-05-11 |
Add support for Arrays of BoolValues (other types will follow as needed). | 2014-05-11 |
proposal for extended command set implementation (independent of device type) | 2014-05-09 |
add distance to fhem state string | 2014-05-09 |
refactor automatic device type assignment (now . delimiter) | 2014-05-09 |
bugfix: remove invalid barometric pressure reading Without receiving the BarometricPressureTemperature message a barometric reading gets added. This happens especially after a fhem restart. The root cause is not easy to debug and still unknown. Add this workaround to avoid wrong/invalid entries in the device reading table | 2014-05-09 |
refactor set commands define a array with device specific set of cmds and check against allow to set the devtype through a new set command | 2014-05-08 |
refactor state string creation use lookup table do assemble state string | 2014-05-02 |
refactor adding webCmds and devStateIcons use lookup table do define webCmds and devStateIcons | 2014-05-02 |
Add distance message to FHEM module. | 2014-05-06 |
20140610 master_v0.6.1-0-g19b1771 | Download |
TAG: HotFix: Copy request buffer indices correctly in request queue. This bug could lead to sending messages endlessly (only) in the case when there were more than 2 requests in a queue for one receiver and the requests were additionally not acknowledged. | 2024-04-25 |
20140515 master_v0.6.0-0-gf49d8af | Download |
TAG: Support for I2C. Support for temp sensor DS7505. Support for barometric pressure sensor BMP085. FHEM support. Support for array structures in e2p definitions and packets (used in base station and power switch e2p layout). Renamed "tempsensor" to "envsensor", which also requires an ATMega328. e2p editor remembers flash command line. | 2024-04-25 |