Debugging external connections
If you have connected sensors for external bells, or switches, to a PC's serial port, and they are not behaving properly - for example, a bell may not ring at all, or perhaps it rings normally for a while but then starts to ring on the downpull - then you may need to use Abel's debugging feature. This is called the Port Monitor, and displays information about every serial port signal that Abel receives for external bells and switches that you have configured.
To turn on the Port Monitor, click on the View menu and then on Port Monitor, or click on the icon on the toolbar. The Port Monitor is displayed:
You can move the monitor around the screen by clicking on its title bar and dragging it to its new position. You can also change its size by dragging the corners, as with other windows. By default, it appears in the middle of the screen.
As each signal arrives at the serial ports, one line of numbers and letters appear in the port monitor. For example, for a sensor connected to a port's control signals, there could be four lines for each time a bell rings, corresponding to on and off signals as each of two 'strike point' activators on the wheel pass the sensor; or there could be two lines, corresponding to the on and off signals as one 'bottom dead centre' activator passes the sensor. To diagnose problems with sensors, you usually ring only one bell at a time, because of the volume of data.
For a sensor connected to a serial port control signal, each line has the format:
tttt ps ox
where
tttt |
is the time in milliseconds since the last signal arrived. Check signals for the bell are arriving regularly, that there aren't gaps or extra signals. |
p |
is the serial port number, i.e. 1 means COM1, 2 means COM2 etc. |
s |
is the signal identifer. C means CTS, R means RLSD, D means DSR and I means RI. Check that only expected signals are arriving. |
o |
is either 0 or 1 depending on whether the signal is now low or high |
x |
May be absent. If present, it is either 'b', or 't'. If it is 'b',
then this signal arrived within a few milliseconds of the last one,
during the debounce period. Abel treats such signals as most probably
due to switch 'bounce' and will ignore them. If it is 't', then it means
Abel has stopped assuming this is a bouncy signal and has accepted
its current value.
Bounces should be very rare. If you find you are getting lots of them, you may need to improve your sensors or connections. Abel provides a certain amount of debouncing (configurable between 20ms and 100ms - see Configuring bell sensors), but very bouncy signals can exceed this, causing unexpected ringing of bells. If increasing the debounce period doesn't cure this, you will need to improve your sensors. |
For a sensor connected to a serial port data signal (eg, using a Multi Bell interface), each line has the format:
tttt p c
where
tttt |
is the time in milliseconds since the last signal arrived. |
p |
is the serial port number, i.e. 1 means COM1, 2 means COM2 etc. |
c |
is the data character received. Normally it is simply the number of the bell to be rung: 1 for the treble, 2 for 2nd, etc. In the unlikely event that you have footswitches connected to a data port, the character would be w/x/y/z for up to four switches. |
If you are experiencing a problem with externally connected bells, studying the port monitor can help you decide whether the problem originates with the sensors/MBI themselves, or with the way you have configured them in Abel.
See also: