123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353 |
- #ifndef ONBOARD_H
- #define ONBOARD_H
- #ifdef __cplusplus
- extern "C"
- {
- #endif
- #include "hal_mcu.h"
- #include "hal_uart.h"
- #include "hal_sleep.h"
- #include "osal.h"
- extern uint8 aExtendedAddress[8];
- #define TIMER_DECR_TIME 1
- #define TICK_TIME 1000
- #define TICK_COUNT 1
- #define ALWAYS1 0x01
- #define CACHDIS 0x02
- #define FMAP0 0x10
- #define FMAP1 0x20
- #define FMAP 0x30
- #define MUNIF 0x40
- #define PMODESET 0x01
- #define LRESET 0x18
- #define RESETPO 0x00
- #define RESETEX 0x08
- #define RESETWD 0x10
- #define GPIO_0 0x01
- #define GPIO_1 0x02
- #define GPIO_2 0x04
- #define GPIO_3 0x08
- #define GPIO_4 0x10
- #define GPIO_5 0x20
- #define GPIO_6 0x40
- #define GPIO_7 0x80
- #define WDINT0 0x01
- #define WDINT1 0x02
- #define WDINT 0x03
- #define WDMODE 0x04
- #define WDEN 0x08
- #define WDCLR0 0x10
- #define WDCLR1 0x20
- #define WDCLR2 0x40
- #define WDCLR3 0x80
- #define WDCLR 0xF0
- #define WDTISH 0x03
- #define WDTIMD 0x02
- #define WDTILG 0x01
- #define WDTIMX 0x00
- #define WDCLP1 0xA0
- #define WDCLP2 0x50
- #if defined CC2531ZNP
- #define ZNP_CFG1_UART 0
- #define ZNP_CFG1_SPI 1
- extern uint8 znpCfg1;
- #endif
- #define SW_BYPASS_NV HAL_KEY_SW_5
- #define SW_BYPASS_START HAL_KEY_SW_1
- #ifdef LCD_SUPPORTED
- #if !defined DEBUG
- #define DEBUG 0
- #endif
- #if LCD_SUPPORTED==DEBUG
- #define SERIAL_DEBUG_SUPPORTED
- #endif
- #else
- #undef SERIAL_DEBUG_SUPPORTED
- #endif
- #if defined (ZAPP_P1)
- #define ZAPP_PORT HAL_UART_PORT_0
- #elif defined (ZAPP_P2)
- #define ZAPP_PORT HAL_UART_PORT_1
- #else
- #undef ZAPP_PORT
- #endif
- #if defined (ZTOOL_P1)
- #define ZTOOL_PORT HAL_UART_PORT_0
- #elif defined (ZTOOL_P2)
- #define ZTOOL_PORT HAL_UART_PORT_1
- #else
- #undef ZTOOL_PORT
- #endif
- #define MT_UART_TX_BUFF_MAX 254
- #define MT_UART_RX_BUFF_MAX 254
- #define MT_UART_THRESHOLD (MT_UART_RX_BUFF_MAX / 2)
- #define MT_UART_IDLE_TIMEOUT 2
- #define HAL_UART_PORT 0
- #define HAL_UART_FLOW_THRESHOLD 0
- #define HAL_UART_RX_BUF_SIZE 0
- #define HAL_UART_TX_BUF_SIZE 0
- #define HAL_UART_IDLE_TIMEOUT 0
- #define SystemReset() \
- { \
- HAL_DISABLE_INTERRUPTS(); \
- HAL_SYSTEM_RESET(); \
- }
- #define SystemResetSoft() Onboard_soft_reset()
- #define ResetReason() ((SLEEPSTA >> 3) & 0x03)
- #define WatchDogEnable(wdti) \
- { \
- WDCTL = WDCLP1 | WDEN | (wdti & WDINT); \
- WDCTL = WDCLP2 | WDEN | (wdti & WDINT); \
- }
- #define MicroWait(t) Onboard_wait(t)
- #define OSAL_SET_CPU_INTO_SLEEP(timeout) halSleep(timeout);
- #ifdef __IAR_SYSTEMS_ICC__
- #define CSTACK_BEG ((uint8 const *)(_Pragma("segment=\"XSTACK\"") __segment_begin("XSTACK")))
- #define CSTACK_END ((uint8 const *)(_Pragma("segment=\"XSTACK\"") __segment_end("XSTACK"))-1)
- #define STACK_INIT_VALUE 0xCD
- #else
- #error Check compiler compatibility.
- #endif
- #if !defined MAXMEMHEAP
- #if defined CC2531ZNP
- #if defined TC_LINKKEY_JOIN
- #define MAXMEMHEAP 3230
- #else
- #define MAXMEMHEAP 3400
- #endif
- #else
- #if defined TC_LINKKEY_JOIN
- #define MAXMEMHEAP 2600
- #else
- #define MAXMEMHEAP 2770
- #endif
- #endif
- #endif
- #define KEY_CHANGE_SHIFT_IDX 1
- #define KEY_CHANGE_KEYS_IDX 2
- #define OB_COLD 0
- #define OB_WARM 1
- #define OB_READY 2
- #ifdef LCD_SUPPORTED
- #define BUZZER_OFF 0
- #define BUZZER_ON 1
- #define BUZZER_BLIP 2
- #endif
- typedef struct
- {
- osal_event_hdr_t hdr;
- uint8 state;
- uint8 keys;
- } keyChange_t;
-
- extern void InitBoard( uint8 level );
-
- extern uint32 TimerElapsed( void );
-
- extern uint8 RegisterForKeys( uint8 task_id );
-
- extern uint8 OnBoard_SendKeys( uint8 keys, uint8 shift );
-
- extern void _itoa( uint16 num, uint8 *buf, uint8 radix );
- extern void Dimmer( uint8 lvl );
-
- extern void BigLight_On( void );
-
- extern void BigLight_Off( void );
-
- extern void BuzzerControl( uint8 on );
-
- extern uint8 GetUserDipSw( void );
-
- extern uint16 OnBoard_stack_used( void );
-
- extern void OnBoard_KeyCallback ( uint8 keys, uint8 state );
-
- extern uint16 Onboard_rand( void );
-
- extern void Onboard_wait( uint16 timeout );
-
- extern __near_func void Onboard_soft_reset( void );
- #ifdef __cplusplus
- }
- #endif
- #endif
|