24 Commits

Author SHA1 Message Date
Michael Schwarz
0dcd6e9dfe
Add cast to int to fix error when building with Qt 6 2025-12-12 13:02:42 +01:00
Michael Schwarz
7ae4c77c54
Merge branch 'master' into fix-read-large-sunspec-models 2025-12-10 07:25:04 +01:00
Michael Schwarz
092d80508c Fix reading data of large SunSpec models
Up until now, the data of a SunSpec model was read as one block. This
does not work for large SunSpec models since the max. number of
registers that can be read as a block via Modbus is 125. The data of
SunSpec models is now read in chunks of max. 125 registers.
2025-11-26 07:57:27 +01:00
Simon Stürz
bf53a742a3 Update license text and add SPDX identifier 2025-11-18 12:02:13 +01:00
jenkins
0451515d39 Merge PR #220: libnymea-sunspec: Implement handling of SunSpec repeating blocks. 2025-10-17 11:28:18 +02:00
Michael Schwarz
2690adeba3 Abort setup of SunSpec repeating blocks if repeating block data size is unexpected. Improve warning message to clarify this behaviour. Fix indentation in generated code. Regenerate SunSpec model classes. 2025-10-10 14:07:07 +02:00
Michael Schwarz
2b16beb851 Add nullptr default parameter for consistency. 2025-10-10 13:51:48 +02:00
Michael Schwarz
3944f2c984 Implement handling of SunSpec repeating blocks.
* Update code generator to create code for setting up
    SunSpecModelRepeatingBlock subclasses automatically.
  * Update SunSpecModel class to provide access to its repeating blocks
    and to forward received raw data to its repeating blocks.
  * Use updated code generator to regenerate model classes.
2025-10-08 11:12:28 +02:00
Michael Schwarz
f819b8d678 Fix conversion from float to quint16 in SunSpecDataPoint::convertFromFloatWithSSF
Calling this function with a negative value and DataType::Int16 always gives a 0 result on ARM. Need to convert to qint16 first to avoid undefined behavior (cf. https://embeddeduse.com/2013/08/25/casting-a-negative-float-to-an-unsigned-int/)
2025-10-01 14:03:50 +02:00
Simon Stürz
17a5d33861 Add Qt6 support 2025-08-18 11:55:53 +02:00
Simon Stürz
c4e2178c3a SunSpec: Do not delete TCP connection upon reconnect 2023-05-03 08:31:35 +02:00
Simon Stürz
7f261d160a Introduce timout handling and reconnect. Update sunspec connection state handling 2022-06-29 09:48:57 +02:00
Simon Stürz
4e5f847014 Do not finish modbus replies on first error since they could retry. 2022-06-03 11:45:54 +02:00
Simon Stürz
1de0cd9ac5 Fix libnymea-sunspec byteorder initialization 2021-12-12 10:39:54 +01:00
Simon Stürz
eabdc1a207 Introduce endiness for sunspec connections 2021-12-10 17:01:36 +01:00
Simon Stürz
ecfd92f0fb Add option to build libnymea-sunspec with minimal model count 2021-09-03 09:50:30 +02:00
Simon Stürz
860fff977a Make build with gcc-9 2021-09-03 09:35:17 +02:00
Simon Stürz
116d41e448 Add comments for model properties and units for easier understanding of each property 2021-08-26 12:13:02 +02:00
Simon Stürz
d8092607d7 Add kostal model filtering and handle interrupted discovery 2021-08-09 15:38:05 +02:00
Simon Stürz
2d732359f6 Add Kostal vendor and fix block override of protected method 2021-08-09 09:15:49 +02:00
Simon Stürz
c49fd728dc Process sunspec common model information and pride them as parameters 2021-07-16 15:17:12 +02:00
Simon Stürz
db52dcd45b Replace deprecated endl in linbnymea-sunspec and make process data non virtual 2021-07-16 08:32:47 +02:00
Simon Stürz
b3dde018ec Replace qSort with std::sort 2021-07-15 19:49:48 +02:00
Simon Stürz
38a718472b Add libnymea-sunspec and implement custom SolarEdge connection 2021-07-15 16:05:29 +02:00