User's Manual Part 2

SMAC (Simple Media Access Controller)
Wireless Sensing Triple Axis Reference design, Rev. 0.9
Freescale Semiconductor 37
Further changes are relevant to the ZSTAR JW32 platform and specific connections:
drivers.h:
CLEAR_IRQ_FLAG macro changed to reflect KBI module serving IRQ requests from MC13191.
mcu_hw_config.c:
void UseExternalClock(void) and void UseMcuClock(void) functions no implemented,
no external clock available to the microcontroller.
LED toggling added into void MCUInit(void) during waiting for MC13191 to initialize.
UINT8 IRQPinLow(void) function returns the state of the pin PTA3/KBI3 instead of the IRQ pin.
mcu_hw_config.h:
IRQFLAG, IRQACK(), IRQInit() and IRQPinEnable() macros changed to reflect KBI
module serving IRQ requests from the MC13191.
device_header.h:
Several KBI definitions added at the top of the standard <mc68hc908jw32.h> header file.
created port_config_ZSTARJW32.h file with target specific defines (GPIO assignments, etc.)
5.2.2.3 Generic SMAC modifications (USB stick + Sensor Board)
Several modifications of SMAC have been made in order to improve the behavior with some older
MC13191 silicon versions. Namely a software time-out functions (using microcontroller’s TIM/TPM timer
functions) have been added into UINT8 PDDataRequest(tTxPacket *psPacket)and UINT8
PLMEEnergyDetect (void) functions in simple_phy.c file.
Both functions wait for the gu8RTxMode variable to change to IDLE_MODE. This variable should change
in the void interrupt IRQIsr(void) function once the execution of a specified task (in MC13191)
finishes. Under some rare circumstances, an IRQ event (and also an IRQIsr() interrupt) does not occur,
so this software workaround has been implemented to avoid a software lock-up.