added HCD:1, HCD:2, HCD:3, corrected max values for BCD+HCDdiff
This commit is contained in:
@@ -56,11 +56,14 @@ static const dataType_t dataTypes[] = {
|
||||
{"TTH", 8, bt_tim, 0, 0, 5, 5, 30}, // truncated time (only multiple of 30 minutes), 00:30 - 24:00 (minutes div 30 + hour * 2 as integer)
|
||||
{"BDY", 8, bt_num, DAY|LST, 0x07, 0, 6, 1}, // weekday, "Mon" - "Sun" (0x00 - 0x06) [eBUS type]
|
||||
{"HDY", 8, bt_num, DAY|LST, 0x00, 1, 7, 1}, // weekday, "Mon" - "Sun" (0x01 - 0x07) [Vaillant type]
|
||||
{"BCD", 8, bt_num, BCD|LST, 0xff, 0, 0x99, 1}, // unsigned decimal in BCD, 0 - 99
|
||||
{"BCD", 16, bt_num, BCD|LST, 0xffff, 0, 0x9999, 1}, // unsigned decimal in BCD, 0 - 9999
|
||||
{"BCD", 24, bt_num, BCD|LST, 0xffffff, 0, 0x999999, 1}, // unsigned decimal in BCD, 0 - 999999
|
||||
{"BCD", 32, bt_num, BCD|LST, 0xffffffff, 0, 0x99999999, 1}, // unsigned decimal in BCD, 0 - 99999999
|
||||
{"HCD", 32, bt_num, HCD|BCD|REQ, 0, 0, 0x63636363, 1}, // unsigned decimal in HCD, 0 - 99999999
|
||||
{"BCD", 8, bt_num, BCD|LST, 0xff, 0, 99, 1}, // unsigned decimal in BCD, 0 - 99
|
||||
{"BCD", 16, bt_num, BCD|LST, 0xffff, 0, 9999, 1}, // unsigned decimal in BCD, 0 - 9999
|
||||
{"BCD", 24, bt_num, BCD|LST, 0xffffff, 0, 999999, 1}, // unsigned decimal in BCD, 0 - 999999
|
||||
{"BCD", 32, bt_num, BCD|LST, 0xffffffff, 0, 99999999, 1}, // unsigned decimal in BCD, 0 - 99999999
|
||||
{"HCD", 32, bt_num, HCD|BCD|REQ, 0, 0, 99999999, 1}, // unsigned decimal in HCD, 0 - 99999999
|
||||
{"HCD", 8, bt_num, HCD|BCD|REQ, 0, 0, 99, 1}, // unsigned decimal in HCD, 0 - 99
|
||||
{"HCD", 16, bt_num, HCD|BCD|REQ, 0, 0, 9999, 1}, // unsigned decimal in HCD, 0 - 9999
|
||||
{"HCD", 24, bt_num, HCD|BCD|REQ, 0, 0, 999999, 1}, // unsigned decimal in HCD, 0 - 999999
|
||||
pinDataType,
|
||||
uchDataType,
|
||||
{"SCH", 8, bt_num, SIG, 0x80, 0x81, 0x7f, 1}, // signed integer, -127 - +127
|
||||
|
||||
+2
-2
@@ -115,8 +115,8 @@ typedef struct dataType_s {
|
||||
const BaseType type; //!< base data type
|
||||
const unsigned short flags; //!< flags (like #BCD)
|
||||
const unsigned int replacement; //!< replacement value (fill-up value for #bt_str / #bt_hexstr, no replacement if equal to #minValue for #bt_num)
|
||||
const unsigned int minValue; //!< minimum binary value (ignored for @a StringDataField)
|
||||
const unsigned int maxValue; //!< maximum binary value (ignored for @a StringDataField)
|
||||
const unsigned int minValue; //!< minimum raw value (ignored for @a StringDataField)
|
||||
const unsigned int maxValue; //!< maximum raw value (ignored for @a StringDataField)
|
||||
const short divisorOrFirstBit; //!< #bt_num: divisor (negative for reciprocal) or offset to first bit (if (#bitCount%8)!=0)
|
||||
} dataType_t;
|
||||
|
||||
|
||||
@@ -135,26 +135,57 @@ int main()
|
||||
{"x,,bcd", "26", "10feffff0126", "00", ""},
|
||||
{"x,,bcd", "0", "10feffff0100", "00", ""},
|
||||
{"x,,bcd", "99", "10feffff0199", "00", ""},
|
||||
{"x,,bcd", "100", "10feffff0199", "00", "Rw"},
|
||||
{"x,,bcd", "-", "10feffff01ff", "00", ""},
|
||||
{"x,,bcd", "", "10feffff019a", "00", "rw"},
|
||||
{"x,,bcd:1","26", "10feffff0126", "00", ""},
|
||||
{"x,,bcd:1","0", "10feffff0100", "00", ""},
|
||||
{"x,,bcd:1","99", "10feffff0199", "00", ""},
|
||||
{"x,,bcd:1","100", "10feffff0199", "00", "Rw"},
|
||||
{"x,,bcd:1","-", "10feffff01ff", "00", ""},
|
||||
{"x,,bcd:1","", "10feffff019a", "00", "rw"},
|
||||
{"x,,bcd:2","126", "10feffff022601", "00", ""},
|
||||
{"x,,bcd:2","0", "10feffff020000", "00", ""},
|
||||
{"x,,bcd:2","9999", "10feffff029999", "00", ""},
|
||||
{"x,,bcd:2","10000","10feffff029999", "00", "Rw"},
|
||||
{"x,,bcd:2","-", "10feffff02ffff", "00", ""},
|
||||
{"x,,bcd:2","", "10feffff029a00", "00", "rw"},
|
||||
{"x,,bcd:3","12346", "10feffff03462301", "00", ""},
|
||||
{"x,,bcd:3","0", "10feffff03000000", "00", ""},
|
||||
{"x,,bcd:3","999999", "10feffff03999999", "00", ""},
|
||||
{"x,,bcd:3","1000000","10feffff03999999", "00", "Rw"},
|
||||
{"x,,bcd:3","-", "10feffff03ffffff", "00", ""},
|
||||
{"x,,bcd:3","", "10feffff03009a00", "00", "rw"},
|
||||
{"x,,bcd:4","1234567", "10feffff0467452301", "00", ""},
|
||||
{"x,,bcd:4","0", "10feffff0400000000", "00", ""},
|
||||
{"x,,bcd:4","99999999", "10feffff0499999999", "00", ""},
|
||||
{"x,,bcd:4","100000000","10feffff0499999999", "00", "Rw"},
|
||||
{"x,,bcd:4","-", "10feffff04ffffffff", "00", ""},
|
||||
{"x,,bcd:4","", "10feffff0400009a00", "00", "rw"},
|
||||
{"x,,hcd:1", "26", "10feffff011a", "00", ""},
|
||||
{"x,,hcd:1", "0", "10feffff0100", "00", ""},
|
||||
{"x,,hcd:1", "99", "10feffff0163", "00", ""},
|
||||
{"x,,hcd:1", "100", "10feffff0163", "00", "Rw"},
|
||||
{"x,,hcd:1", "", "10feffff019a", "00", "rw"},
|
||||
{"x,,hcd:2", "126", "10feffff021a01", "00", ""},
|
||||
{"x,,hcd:2", "0", "10feffff020000", "00", ""},
|
||||
{"x,,hcd:2", "9999", "10feffff026363", "00", ""},
|
||||
{"x,,hcd:2", "10000", "10feffff026363", "00", "Rw"},
|
||||
{"x,,hcd:2", "", "10feffff029a00", "00", "rw"},
|
||||
{"x,,hcd:3","12346", "10feffff032e1701", "00", ""},
|
||||
{"x,,hcd:3","0", "10feffff03000000", "00", ""},
|
||||
{"x,,hcd:3","999999", "10feffff03636363", "00", ""},
|
||||
{"x,,hcd:3","1000000", "10feffff03636363", "00", "Rw"},
|
||||
{"x,,hcd:3","", "10feffff03009a00", "00", "rw"},
|
||||
{"x,,hcd:4","1234567", "10feffff04432d1701", "00", ""},
|
||||
{"x,,hcd:4","0", "10feffff0400000000", "00", ""},
|
||||
{"x,,hcd:4","99999999", "10feffff0463636363", "00", ""},
|
||||
{"x,,hcd:4","100000000","10feffff0463636363", "00", "Rw"},
|
||||
{"x,,hcd","", "10feffff0400006400", "00", "rw"},
|
||||
{"x,,hcd","1234567", "10feffff04432d1701", "00", ""},
|
||||
{"x,,hcd","0", "10feffff0400000000", "00", ""},
|
||||
{"x,,hcd","99999999", "10feffff0463636363", "00", ""},
|
||||
{"x,,hcd","100000000", "10feffff0463636363", "00", "Rw"},
|
||||
{"x,,hcd","", "10feffff0400006400", "00", "rw"},
|
||||
{"x,,str:16", "0123456789ABCDEF", "10feffff1130313233343536373839414243444546", "00", ""},
|
||||
{"x,,uch:17", "", "10feffff00", "00", "c"},
|
||||
|
||||
Reference in New Issue
Block a user