To start with.
Is that meant to be an output command or an input command?
I was assuming output, but you are using a longin record with an INP field.
IF it is output (ie you are attempting to write the value of the record as the number) Then what you need is an exception handler.
The protocol would look something like:
Battery
{
out “Battery On %d”;
in “OK”;
@mismatch { in “Error:%(BatteryError)s”; }
}
Where BatteryError is a stringin record.
IF it is an input (ie you are requesting the status from a particular battery) then have one record for each battery and pass the number as a protocol variable:
Record (stringin, “battery-3-On”)
{
Field(DTYP, “stream”)
Field(INP, “myDev.proto Battery(3) dev”)
}
Battery
{
out “Battery On \$1”;
in “%s”;
}
Pete
Hello,
I am trying to understand how to setup a particular command in a protocol file.
The command looks like this:
Battery On “number”
And the command returns either: “OK” or ”Error: err msg”.
I think my protocol file might look like this:
Battery
{
Out “Battery On %d”;
}
And my db file would look like this:
Record (longin, “batteryOn”)
{
Field(DTYP, “stream”)
Field(INP, “myDev.proto Battery dev”)
}
How do I get the status that the command returns?
I want to do something like
Battery
{
Out “Battery On %d”;
In “%s”;
}
But I am already using an input for the battery number. So how do I do both?
Thanks In advance.
Steve Goff