Multiple rails: The number
of rails for this application can be increased or decreased. Only minor edits
are needed to implement the number of rails.
The array size for the
interval time sequences needs to match the number of rails chosen. The
two arrays referenced are gTimerUp[] and
gTimerDown[].
If rails are added or
subtracted edits need to be made to the pinToggle
function for each GPIO output.
Sequence order: The
application as written has a specific order for the sequence. To change the
order of rails triggered, change the # in GPIO_OUT_PIN_#_PIN that is found in
the pinToggle function to the desired order in the
if statement.
Clock settings: Maximum
interval resolution is dependent on the frequency of the timer. Timer clock
settings need to be adjusted depending on system clock settings. There is a
direct relationship between how fast to clock the timer and the resolution of
time between rails. The faster you clock the timer, the more resolution there is
between; however, as the input clock frequency increases, the total possible
time between rails is decreased.
Calculating intervals:
SysConfig gives period range and resolution based on the set frequency for the
MSPM0 family. In the example code, the resolution is 7.81ms while the clock
frequency is set to 128Hz. The period for the desired intervals can be
calculated by dividing the desired time by the resolution.
Port settings: Some
devices of the MSPM0 family offer multiple ports. If more than one port is in
use, the GPIO code portions of the application have to be modified to use
multiple ports.
Connection of external devices
to output pins: External devices can be controlled in this type of
application in different ways. Three common methods are explored in the
following list:
Enable Pin: No
additional actions are needed for the output.
Direct Power: If
an external device is being powered by the output, modifications need
to be made as well as considerations about the output current limitation
located in the device data sheet.
External Power
Circuitry: If external circuitry is needed for powering of
another device, for example an external GPAMP, then the output is like
the enable pin situation in 6.a. External circuitry varies on each system, and is beyond
the scope of this document.