Fix irregular model names BREAKING CHANGE ()

- "Inkbird ITH-20R" -> "Inkbird-ITH20R"
- "LaCrosse-WS7000-27/28" -> "LaCrosse-WS700027"
- "LaCrosse-WS7000-22/25" -> "LaCrosse-WS700022"
- "LaCrosse-WS7000-16" -> "LaCrosse-WS700016"
- "LaCrosse-WS7000-15" -> "LaCrosse-WS700015"
- "LaCrosse-WS7000-20" -> "LaCrosse-WS700020"
- "LaCrosse-WS2500-19" -> "LaCrosse-WS250019"
- "Abarth 124 Spider" -> "Abarth-124Spider"
- "Jansite Solar" -> "Jansite-Solar"
- "Klimalogg Pro" -> "Klimalogg-Pro"
- "Secplus_v1" -> "Secplus-v1"
- "SCM+" -> "SCMplus"
This commit is contained in:
Christian W. Zuckschwerdt 2022-01-08 12:10:14 +01:00 committed by GitHub
parent 6a31e4f7f9
commit 9843a3411d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 18 additions and 16 deletions

View file

@ -242,7 +242,7 @@ static int flex_callback(r_device *decoder, bitbuffer_t *bitbuffer)
/* clang-format off */ /* clang-format off */
data = data_make( data = data_make(
"model", "", DATA_STRING, params->name, // "User-defined model" "model", "", DATA_STRING, params->name, // "User-defined"
"count", "", DATA_INT, match_count, "count", "", DATA_INT, match_count,
"num_rows", "", DATA_INT, bitbuffer->num_rows, "num_rows", "", DATA_INT, bitbuffer->num_rows,
"len", "", DATA_INT, bitbuffer->bits_per_row[r], "len", "", DATA_INT, bitbuffer->bits_per_row[r],
@ -260,7 +260,7 @@ static int flex_callback(r_device *decoder, bitbuffer_t *bitbuffer)
if (params->count_only) { if (params->count_only) {
/* clang-format off */ /* clang-format off */
data = data_make( data = data_make(
"model", "", DATA_STRING, params->name, // "User-defined model" "model", "", DATA_STRING, params->name, // "User-defined"
"count", "", DATA_INT, match_count, "count", "", DATA_INT, match_count,
NULL); NULL);
/* clang-format on */ /* clang-format on */
@ -291,7 +291,7 @@ static int flex_callback(r_device *decoder, bitbuffer_t *bitbuffer)
} }
/* clang-format off */ /* clang-format off */
data = data_make( data = data_make(
"model", "", DATA_STRING, params->name, // "User-defined model" "model", "", DATA_STRING, params->name, // "User-defined"
"count", "", DATA_INT, match_count, "count", "", DATA_INT, match_count,
"num_rows", "", DATA_INT, bitbuffer->num_rows, "num_rows", "", DATA_INT, bitbuffer->num_rows,
"rows", "", DATA_ARRAY, data_array(bitbuffer->num_rows, DATA_DATA, row_data), "rows", "", DATA_ARRAY, data_array(bitbuffer->num_rows, DATA_DATA, row_data),

View file

@ -128,7 +128,7 @@ static int inkbird_ith20r_callback(r_device *decoder, bitbuffer_t *bitbuffer)
/* clang-format off */ /* clang-format off */
data = data_make( data = data_make(
"model", "", DATA_STRING, "Inkbird ITH-20R", "model", "", DATA_STRING, "Inkbird-ITH20R",
"id", "", DATA_INT, sensor_id, "id", "", DATA_INT, sensor_id,
"battery", "Battery", DATA_INT, battery, "battery", "Battery", DATA_INT, battery,
"sensor_num", "", DATA_INT, sensor_num, "sensor_num", "", DATA_INT, sensor_num,

View file

@ -76,7 +76,7 @@ static int klimalogg_decode(r_device *decoder, bitbuffer_t *bitbuffer)
/* clang-format off */ /* clang-format off */
data_t *data = data_make( data_t *data = data_make(
"model", "", DATA_STRING, "Klimalogg Pro", "model", "", DATA_STRING, "Klimalogg-Pro",
"id", "Id", DATA_FORMAT, "%04x", DATA_INT, id, "id", "Id", DATA_FORMAT, "%04x", DATA_INT, id,
"battery_ok", "Battery", DATA_INT, !battery_low, "battery_ok", "Battery", DATA_INT, !battery_low,
"temperature_C", "Temperature", DATA_FORMAT, "%.1f C", DATA_DOUBLE, temperature, "temperature_C", "Temperature", DATA_FORMAT, "%.1f C", DATA_DOUBLE, temperature,

View file

@ -100,7 +100,7 @@ static int lacrosse_ws7000_decode(r_device *decoder, bitbuffer_t *bitbuffer)
/* clang-format off */ /* clang-format off */
data = data_make( data = data_make(
"model", "", DATA_STRING, "LaCrosse-WS7000-27/28", "model", "", DATA_STRING, "LaCrosse-WS700027",
"id", "", DATA_INT, id, "id", "", DATA_INT, id,
"channel", "", DATA_INT, addr, "channel", "", DATA_INT, addr,
"temperature_C", "Temperature", DATA_DOUBLE, temperature, "temperature_C", "Temperature", DATA_DOUBLE, temperature,
@ -119,7 +119,7 @@ static int lacrosse_ws7000_decode(r_device *decoder, bitbuffer_t *bitbuffer)
/* clang-format off */ /* clang-format off */
data = data_make( data = data_make(
"model", "", DATA_STRING, "LaCrosse-WS7000-22/25", "model", "", DATA_STRING, "LaCrosse-WS700022",
"id", "", DATA_INT, id, "id", "", DATA_INT, id,
"channel", "", DATA_INT, addr, "channel", "", DATA_INT, addr,
"temperature_C", "Temperature", DATA_DOUBLE, temperature, "temperature_C", "Temperature", DATA_DOUBLE, temperature,
@ -137,7 +137,7 @@ static int lacrosse_ws7000_decode(r_device *decoder, bitbuffer_t *bitbuffer)
/* clang-format off */ /* clang-format off */
data = data_make( data = data_make(
"model", "", DATA_STRING, "LaCrosse-WS7000-16", "model", "", DATA_STRING, "LaCrosse-WS700016",
"id", "", DATA_INT, id, "id", "", DATA_INT, id,
"channel", "", DATA_INT, addr, "channel", "", DATA_INT, addr,
"rain_mm", "Rain counter", DATA_DOUBLE, rain * 0.3, "rain_mm", "Rain counter", DATA_DOUBLE, rain * 0.3,
@ -156,7 +156,7 @@ static int lacrosse_ws7000_decode(r_device *decoder, bitbuffer_t *bitbuffer)
/* clang-format off */ /* clang-format off */
data = data_make( data = data_make(
"model", "", DATA_STRING, "LaCrosse-WS7000-15", "model", "", DATA_STRING, "LaCrosse-WS700015",
"id", "", DATA_INT, id, "id", "", DATA_INT, id,
"channel", "", DATA_INT, addr, "channel", "", DATA_INT, addr,
"wind_avg_km_h", "Wind speed", DATA_DOUBLE, speed, "wind_avg_km_h", "Wind speed", DATA_DOUBLE, speed,
@ -178,7 +178,7 @@ static int lacrosse_ws7000_decode(r_device *decoder, bitbuffer_t *bitbuffer)
/* clang-format off */ /* clang-format off */
data = data_make( data = data_make(
"model", "", DATA_STRING, "LaCrosse-WS7000-20", "model", "", DATA_STRING, "LaCrosse-WS700020",
"id", "", DATA_INT, id, "id", "", DATA_INT, id,
"channel", "", DATA_INT, addr, "channel", "", DATA_INT, addr,
"temperature_C", "Temperature", DATA_DOUBLE, temperature, "temperature_C", "Temperature", DATA_DOUBLE, temperature,
@ -201,7 +201,7 @@ static int lacrosse_ws7000_decode(r_device *decoder, bitbuffer_t *bitbuffer)
/* clang-format off */ /* clang-format off */
data = data_make( data = data_make(
"model", "", DATA_STRING, "LaCrosse-WS2500-19", "model", "", DATA_STRING, "LaCrosse-WS250019",
"id", "", DATA_INT, id, "id", "", DATA_INT, id,
"channel", "", DATA_INT, addr, "channel", "", DATA_INT, addr,
"light_lux", "Brightness", DATA_INT, brightness, "light_lux", "Brightness", DATA_INT, brightness,

View file

@ -242,7 +242,7 @@ static int new_template_decode(r_device *decoder, bitbuffer_t *bitbuffer)
/* clang-format off */ /* clang-format off */
data = data_make( data = data_make(
"model", "", DATA_STRING, "New Template", "model", "", DATA_STRING, "New-Template",
"id", "", DATA_INT, sensor_id, "id", "", DATA_INT, sensor_id,
"data", "", DATA_INT, value, "data", "", DATA_INT, value,
"mic", "", DATA_STRING, "CHECKSUM", // CRC, CHECKSUM, or PARITY "mic", "", DATA_STRING, "CHECKSUM", // CRC, CHECKSUM, or PARITY

View file

@ -156,7 +156,7 @@ static int scmplus_decode(r_device *decoder, bitbuffer_t *bitbuffer)
/* clang-format off */ /* clang-format off */
data = data_make( data = data_make(
"model", "", DATA_STRING, "SCM+", // TODO: bad name for e.g. MQTT "model", "", DATA_STRING, "SCMplus",
"id", "", DATA_INT, endpoint_id, "id", "", DATA_INT, endpoint_id,
"ProtocolID", "Protocol_ID", DATA_STRING, protocol_id_str, // TODO: this should be int "ProtocolID", "Protocol_ID", DATA_STRING, protocol_id_str, // TODO: this should be int
"EndpointType", "Endpoint_Type", DATA_STRING, endpoint_type_str, // TODO: this should be int "EndpointType", "Endpoint_Type", DATA_STRING, endpoint_type_str, // TODO: this should be int

View file

@ -371,7 +371,7 @@ static int secplus_v1_callback(r_device *decoder, bitbuffer_t *bitbuffer)
// fprintf(stderr, "# Security+: rolling=2320615320 fixed=1846948897 (id1=2 id0=0 switch=1 remote_id=68405514 button=left)\n"); // fprintf(stderr, "# Security+: rolling=2320615320 fixed=1846948897 (id1=2 id0=0 switch=1 remote_id=68405514 button=left)\n");
/* clang-format off */ /* clang-format off */
data_t *data = data_make( data_t *data = data_make(
"model", "", DATA_STRING, "Secplus_v1", "model", "", DATA_STRING, "Secplus-v1",
"id", "", DATA_INT, id, "id", "", DATA_INT, id,
"id0", "ID_0", DATA_INT, id0, "id0", "ID_0", DATA_INT, id0,
"id1", "ID_1", DATA_INT, id1, "id1", "ID_1", DATA_INT, id1,

View file

@ -74,7 +74,7 @@ static int tpms_abarth124_decode(r_device *decoder, bitbuffer_t *bitbuffer, unsi
/* clang-format off */ /* clang-format off */
data = data_make( data = data_make(
"model", "", DATA_STRING, "Abarth 124 Spider", "model", "", DATA_STRING, "Abarth-124Spider",
"type", "", DATA_STRING, "TPMS", "type", "", DATA_STRING, "TPMS",
"id", "", DATA_STRING, id_str, "id", "", DATA_STRING, id_str,
"flags", "", DATA_STRING, flags, "flags", "", DATA_STRING, flags,

View file

@ -82,7 +82,7 @@ static int tpms_jansite_solar_decode(r_device *decoder, bitbuffer_t *bitbuffer,
/* clang-format off */ /* clang-format off */
data = data_make( data = data_make(
"model", "", DATA_STRING, "Jansite Solar", "model", "", DATA_STRING, "Jansite-Solar",
"type", "", DATA_STRING, "TPMS", "type", "", DATA_STRING, "TPMS",
"id", "", DATA_STRING, id_str, "id", "", DATA_STRING, id_str,
"flags", "", DATA_INT, flags, "flags", "", DATA_INT, flags,

View file

@ -237,6 +237,8 @@ def process_source(path, name):
if not fName: if not fName:
err(f"::error file={name},line={i + 1}::No func") err(f"::error file={name},line={i + 1}::No func")
for model in models: for model in models:
if not re.match(r'^[A-Za-z][0-9A-Za-z"]+(-[0-9A-Za-z"]+)?$', model):
log(f"::error file={name},line={i + 1}::Bad model name \"{model}\"")
if model in links and links[model]["func"] != fName: if model in links and links[model]["func"] != fName:
log(f"::notice file={name},line={i + 1}::Reused model") log(f"::notice file={name},line={i + 1}::Reused model")
elif model in links: elif model in links: