iSuiteTM 3 SDK - GPIO usage in
iSuite software
GPIO lines in iSuite software
By default, iSuite software uses some of the GPIO lines for controlling the software and indicating the software status. Following section describe these lines in detail. If necessary, these software status indications can be disabled to free up the lines for application use, see a notes in platform specific documentation:GPIO sleep mode control
Following GPIO lines are used to control sleep mode in default firmware:| GPIO line
|
Description
|
| B18
|
Sleep mode on/off control. When this line
is pulled to low state, iTrax enters sleep mode. When the
line is again resumed to high state, iTrax wakes up.
|
| B10
|
Power good indication. Regulator's "power
good" indicator can be connected to this line. When the
power good signal goes to low state, iTrax goes very
rapidly to sleep mode, allowing quick start when power is
resumed again.
|
iSuite GPIO status indication
GPIO lines listed on the following table are used for software status / debug indications. The status indication leds are useful as they can indicate CPU status, UART activity, navigation status, aiding status and if system errors have occurred.The software status indications can be switched off in run-time to allow using the GPIO lines for user appilcations. See notes in platform specific documentation:
| GPIO line
|
Name in source
(gpio_debug.h) |
Description
|
| A4
|
DEBUG_LED1
|
CPU idle indication. On when CPU is idle.
Useful for detecting how much CPU time is available.
|
| A5
|
DEBUG_LED2 | Interrupt activity indication. On when
iTrax executes an interrupt routine.
|
| A6
|
DEBUG_LED3 | On when UART 0 is active (data in rx/tx
buffers).
|
| A8
|
DEBUG_LED4 | On when UART 1 is active (data in rx/tx buffers). |
| A9
|
DEBUG_LED5 | Error status indication 1 (see error indication)
|
| A10
|
DEBUG_LED6 | Start aiding 1 (see start aiding) or Error status 2 (see error indication) |
| A11
|
DEBUG_LED7 | Start aiding 2 (see start aiding) or Error status 3 (see error indication) |
| A12
|
DEBUG_LED8 | System error indication (see error indication) |
| A13
|
UI_LED_A
|
Led 'B' on Evaluation Kit front panel. See
UI leds.
|
| A14
|
UI_LED_B
|
Led 'A' on Evaluation Kit front panel. See UI leds. |
| B17
|
LED_NAV_GPIOB
|
Fix available indication. On when iTrax is
navigating and a valid fix is available.
|
Error status indication
Debug led 8 (GPIO A12) indicates if a system error has occurred:- Off: No system errors.
- Blinking: Non-severe system error has occurred but system can continue running.
- On: Severe system error has
occurred and system has been halted. Notice that in such case
also UI leds indicate system error by
blinking rapidly in opposite phases.
| Led5
|
Led6
|
Led7
|
Description
|
| 1
|
0
|
0
|
iTalk message allocation has failed.
|
| 0
|
0
|
1
|
Firmare or Hardware Info block checksum
failed.
|
| 1
|
0
|
1
|
Task start synchronization has failed.
Likely caused by a task that hasn't called
ISYS_WaitStartSync().
|
| 0
|
1
|
1
|
Assert failure. An assert check condition
has failed. If iTalk protocol has been initialized, iTalk
port outputs an assert failure message which tells the
source of the problem.
|
| 1
|
1
|
1
|
Stack overflow. One of the tasks has ran
over its stack space. When this error state is active,
the task number that causes the problem (modulo 16) is
encoded in binary format to debug leds 1-4 (GPIO A4, A5,
A6, A8).
|
Start aiding indication
If debug led 8 (GPIO A12, system error indication) is OFF, debug leds 6 and 7 (GPIO A10, A11) indicate if aiding information has been used in navigation start.Notice that these leds indicate aiding status only if debug led 8 (GPIO A12) is off:
| Led6
|
Led7
|
Description
|
| 0
|
0
|
Time aiding was not used in navigation
start.
|
| 1
|
0
|
Time aiding was used in navigation start,
but quick start did not succeed.
|
| 1
|
1
|
Quick start was performed. |
UI Leds
Evaluation kit UI Leds A & B (GPIO A14, A13) indicate
navigation status of the software. The UI leds can be either
on, off or blink with short or long duty cycles.
Note:
- During normal operation both UI leds blink at same phase, so that both leds light up each time at the same moment.
- If UI leds blink rapidly at opposite phases in half-second cycles, so that led A continuously goes on when B goes off and vice versa, this operation indicates that a system error has occurred. In such case see error led status indication for detecting reason of the problem.
UI Led A (GPIO A14) indications. Notice that "Short blink" means blinking with 20% active cycle and "Long blink" means blinking with 80% active cycle.
| Activity
|
Description
|
| Off
|
Power off or in sleep mode
|
| Short Blink
|
Normal mode, navigation is stopped.
|
| Long Blink
|
Normal mode, navigation is started. |
| On
|
Not defined (sw may have hanged)
|
UI Led B (GPIO A13) indications:
| Activity
|
Description
|
| Off
|
Not tracking any satellites or navigation
stopped.
|
| Short Blink
|
Tracking satellites, but cannot calculate
pseudorange data.
|
| Long Blink
|
Tracking satellites, can calculate
pseudorange data but navigation fix not available.
|
| On
|
Navigating, valid fix available.
|
Go to beginning