Skip to content

devVacSen.c breaks if an MX200 only has one set point card in it #9

@kmpeters

Description

@kmpeters

devVacSen.c breaks if an MX200 only has one set point card in it, resulting in only available set points in total. The coded assumes there are eight set points:

vac/vacApp/src/devVacSen.c

Lines 845 to 856 in 4a7308c

case 4:
sprintf(addcmd, "%d", pPvt->spt);
break;
case 5:
sprintf(addcmd, "%d", (2 + pPvt->spt));
break;
case 6:
sprintf(addcmd, "%d", (4 + pPvt->spt));
break;
case 7:
sprintf(addcmd, "%d", (6 + pPvt->spt));
break;

Here are asyn traces showing the problem:

2026/03/04 14:30:10.771 10.54.114.39:4001 write 3
S5
2026/03/04 14:30:10.832 10.54.114.39:4001 read 49
01=OF 02=OF 03=OF 04=OF 05=00 06=00 07=00 08=00

2026/03/04 14:30:10.832 10.54.114.39:4001 write 5
S103
2026/03/04 14:30:10.851 10.54.114.39:4001 read 7
23006

2026/03/04 14:30:10.851 10.54.114.39:4001 write 5
S101
2026/03/04 14:30:10.869 10.54.114.39:4001 read 6
OVER

2026/03/04 14:30:10.869 10.54.114.39:4001 write 5
S101
2026/03/04 14:30:10.887 10.54.114.39:4001 read 6
OVER

2026/03/04 14:30:10.887 10.54.114.39:4001 write 4
R71
2026/03/04 14:30:10.912 10.54.114.39:4001 read 14
001000010000

2026/03/04 14:30:10.912 10.54.114.39:4001 write 4
R73
2026/03/04 14:30:10.937 10.54.114.39:4001 read 14
900041000303

2026/03/04 14:30:10.937 10.54.114.39:4001 write 4
R75
2026/03/04 14:30:10.956 10.54.114.39:4001 read 8
0N0002

The vacuum readings never update in the vs record because of the error reply to the R75 command.

I don't know this support or the MX200 very well, but it seems like devVacSen.c should not be querying any set point that is reported to be disconnected (00) in the S5 output.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions