Part of the DIGI_NED digipeater software is the telemetry module. This module is separated in to three parts:
- Telemetry broadcasts
- Telemetry queries
- Remote control
As the telemetry module is widely configureable every configuration of a digi will be different. When you want to see what is possible surf to the following url's. Here you can see some nice examples:
DIGI_NED can broadcast telemetry at regular intervals and has 2 type of transmissions available:
- Transmission of actual status
- Transmission of the telemetry configuration
These transmissions depend on each other and are needed for a proper display of the values.
The first transmission contains the actual status of the telemetry inputs.This frame looks like this:
|:PE1DNN-2: Tlpt1,000,999,999,999,999,00000000: DIGI_NED telemetry.|
This transmission is used in a short interval. Depending on the needs of the owner can it vary from minutes to hours. The tranmission contains 5 analoge inputs and 1 digital input.
APRS has a method of specifying what all the telemetry information means. This is done by means of an APRS message, which is addressed to the digipeater itself and transmitted as a beacon.
If the APRS program you use supports it, it will show the telemetry data with the correct labels and units. It can even do some equations and determine if a '1' bit in a binary value means 'active' or 'inactive'.
A typical APRS telemetry datagram discribing the telemetry configuration could look lake this:
|:PE1DNN-2 :PARM.Battery,Btemp,None,None,None,Busy,Ack,PE,Sel,Err,NC,NC,NC |
:PE1DNN-2 :BITS.11111111,DIGI_NED Telemetry
With PARM. the 'label' or 'name' of the parameters are specified. Each analog value can have a name and each bit of the binary value too.
With UNIT. the unit in which the parameter should be expressed is defined. For Battery the unit is for example 'volt'. If the analog field is for example '12' then this could be displayed as: 'Battery 12 volt' using the information from our example. For binary values the word 'is' can be used for active and 'not' for inactive bit values. Without modification 'B1' could be displayed as: 'Busy is high', but when changing the 'Busy' name to 'Lamp' and unit 'high' to on this would be 'Lamp is on', now it is clear what this bit means!
Now you can also do some simple equations. For each analog value 'x' the equation:
value = a x^2 + b x + c
is used, where 'a', 'b' and 'c' are defined for each port using an EQNS. message. Default are 'a' and 'c' zero and 'b' one, so there is no change to the analog value.
With the EQNS. message this can be changed. For example say the analog value is expressed in tenths of volts for the battery and has a start value of 6 volts. Then you may want to divide the value by 10 before displaying. If you have analog value 60 then you mean that the battery potential is 12 volts. In this case you want to multiply the value by 0.1 (value for 'b') and add 6 volts to the measured value ('c'). 'a' shall stay zero.
To achieve this the values 0,0.1,6 have to be supplied for A1. All 5 analog ports can be specified this way in sequential order.
The last message that gives information is BITS. This one tells when a bit should be regarded as active. The BITS. message has 8 bits. If the first bit is '1' that means that the B1 value is regarded as active when it is logical high. A '0' means that a logical low is active. So if you connect a lamp-on detection to B1, which is low when the lamp is on, then the bit in the BITS. value shall be '0'. Default is BITS.11111111 which means that on all bits a '1' means active. For our inverting lamp detection this should be changed to BITS.01111111. Now a telemetry aware program will say 'lamp is on' when the B1 value is '0' or 'lamp is off' when the B1 value is '1'.
To find the actual status of the telemetry ports you can query the digipeater with the command:
As argument you have to supply which telemetry info you want. This can be A1 to A5 or B1 to B8. The A stands for analogue and the B for bit. To query for example the first digital value you send the query
to the digipeater. The digipeater will respond with "B1 not high" or "B1 is high" depending on the state of B1.
When the owner of the digi has put a "lamp" on port "B1" and configured the name properly we can find out the status of the lamp using the command:
The DIGI_NED digi will return "lamp not on" or "lamp is on". Likewise:
can return for example "Battery 13.5 volt".
These queries are independent of the beacon transmissions.
Through the telemety module the owner of the wide is able to control ports on the digi. This is not yet made available to users. In a later development a DIGI_NED digi will have a user type named member. Members will be users who participate in experiments but are not allowed to give maintenance related commands. This status is not available yet !