468 #include <ti/drivers/apps/Button.h> 469 #include <ti/drivers/apps/LED.h> 507 #define MAX_CLIENTS 2 509 #ifndef MAX_CLIENT_NAME_LEN 510 #define MAX_CLIENT_NAME_LEN 64 516 #ifndef MAX_REGISTERED_MENUS 517 #define MAX_REGISTERED_MENUS 4 519 #ifndef MAX_MENU_LINE_LEN 520 #define MAX_MENU_LINE_LEN 128 526 #ifndef MAX_STATUS_LINE_LABEL_LEN 527 #define MAX_STATUS_LINE_LABEL_LEN 32 529 #ifndef MAX_STATUS_LINE_VALUE_LEN 530 #define MAX_STATUS_LINE_VALUE_LEN 128 538 #define CUI_MAIN_MENU(_menuSymbol, _pMenuTitle, _numItems, _pMenuUpdateFn) \ 539 CUI_menu_t _menuSymbol = { \ 540 .uartUpdateFn=_pMenuUpdateFn, \ 541 .pTitle=_pMenuTitle, \ 542 .numItems=_numItems + 1, \ 550 #define CUI_SUB_MENU(_menuSymbol, _pMenuTitle, _numItems, _pUpperMenu) \ 551 extern CUI_menu_t _pUpperMenu; \ 552 CUI_menu_t _menuSymbol = { \ 553 .uartUpdateFn=NULL, \ 554 .pTitle=_pMenuTitle, \ 555 .numItems=_numItems + 1, \ 556 .pUpper=&_pUpperMenu, \ 562 #define CUI_MENU_ITEM_SUBMENU(_pSubMenu) {.pDesc=NULL, .item.pSubMenu=(&_pSubMenu)}, 567 #define CUI_MENU_ITEM_ACTION(_pItemDesc, _pFnAction) {.pDesc=(_pItemDesc), .interceptable=false, .interceptActive=false, .item.pFnAction=(_pFnAction)}, 572 #define CUI_MENU_ITEM_INT_ACTION(_pItemDesc, _pFnIntercept) {.pDesc=(_pItemDesc), .interceptable=true, .interceptActive=false, .item.pFnIntercept=(_pFnIntercept)}, 578 #define CUI_MENU_ITEM_HELP CUI_MENU_ITEM_INT_ACTION(CUI_MENU_ACTION_HELP_DESC, (CUI_pFnIntercept_t) CUI_menuActionHelp) 579 #define CUI_MENU_ITEM_BACK CUI_MENU_ITEM_ACTION(CUI_MENU_ACTION_BACK_DESC, (CUI_pFnAction_t) CUI_menuActionBack) 580 #define CUI_MAIN_MENU_END CUI_MENU_ITEM_HELP }}; 581 #define CUI_SUB_MENU_END CUI_MENU_ITEM_BACK }}; 582 #define CUI_MENU_ACTION_BACK_DESC "< BACK >" 583 #define CUI_MENU_ACTION_HELP_DESC "< HELP >" 586 #define CUI_IS_INPUT_NUM(_input) ((_input >= '0') && (_input <= '9')) 587 #define CUI_IS_INPUT_ALPHA(_input) ((_input >= 'a') && (_input <= 'z')) 588 #define CUI_IS_INPUT_ALPHA_NUM(_input) ((CUI_IS_INPUT_ALPHA(_input)) && (CUI_IS_INPUT_NUM(_input))) 589 #define CUI_IS_INPUT_HEX(_input) ((CUI_IS_INPUT_NUM(_input)) || ((_input >= 'a') && (_input <= 'f'))) 590 #define CUI_IS_INPUT_BINARY(_input) ((_input == '0') || (_input == '1')) 595 #define CUI_ITEM_PREVIEW 0x00 598 #define CUI_ITEM_INTERCEPT_START 0xFE 601 #define CUI_ITEM_INTERCEPT_STOP 0xFF 604 #define CUI_ITEM_INTERCEPT_CANCEL 0xF9 606 #define CUI_INPUT_UP 0xFA // Up Arrow 607 #define CUI_INPUT_DOWN 0xFB // Down Arrow 608 #define CUI_INPUT_RIGHT 0xFC // Right Arrow 609 #define CUI_INPUT_LEFT 0xFD // Left Arrow 610 #define CUI_INPUT_BACK 0x7F // Backspace Key 611 #define CUI_INPUT_EXECUTE 0x0D // Enter Key 612 #define CUI_INPUT_ESC 0x1B // ESC (escape) Key 614 #define CUI_COLOR_RESET "\033[0m" 615 #define CUI_COLOR_RED "\033[31m" 616 #define CUI_COLOR_GREEN "\033[32m" 617 #define CUI_COLOR_YELLOW "\033[33m" 618 #define CUI_COLOR_BLUE "\033[34m" 619 #define CUI_COLOR_MAGENTA "\033[35m" 620 #define CUI_COLOR_CYAN "\033[36m" 621 #define CUI_COLOR_WHITE "\033[37m" 623 #define CUI_DEBUG_MSG_START "\0337" 624 #define CUI_DEBUG_MSG_END "\0338\033[k" 626 #define CUI_BLINK_CONTINUOUS 0xFFFF 801 CUI_retVal_t
CUI_btnGetValue(
const CUI_clientHandle_t _clientHandle,
const uint32_t _index,
bool* _pBtnState);
832 CUI_retVal_t
CUI_ledOn(
const CUI_clientHandle_t _clientHandle,
const uint32_t _index,
const uint8_t _brightness);
839 CUI_retVal_t
CUI_ledOff(
const CUI_clientHandle_t _clientHandle,
const uint32_t _index);
846 CUI_retVal_t
CUI_ledToggle(
const CUI_clientHandle_t _clientHandle,
const uint32_t _index);
853 CUI_retVal_t
CUI_ledBlink(
const CUI_clientHandle_t _clientHandle,
const uint32_t _index,
const uint16_t _numBlinks);
885 CUI_retVal_t
CUI_menuNav(
const CUI_clientHandle_t _clientHandle,
CUI_menu_t* _pMenu,
const uint32_t _itemIndex);
910 CUI_retVal_t
CUI_statusLinePrintf(
const CUI_clientHandle_t _clientHandle,
const uint32_t _lineId,
const char *format, ...);
926 void CUI_assert(
const char* _assertMsg,
const bool _spinLock);
uint8_t maxStatusLines
Definition: cui.h:673
void CUI_paramsInit(CUI_params_t *_pParams)
void(* CUI_pFnAction_t)(const int32_t _itemEntry)
Definition: cui.h:705
CUI_retVal_t CUI_deRegisterMenu(const CUI_clientHandle_t _clientHandle, CUI_menu_t *_pMenu)
CUI_btnPressCB_t appCB
Definition: cui.h:684
CUI_retVal_t CUI_btnResourceRelease(const CUI_clientHandle_t _clientHandle, const uint32_t _index)
#define MAX_CLIENT_NAME_LEN
Definition: cui.h:510
void CUI_assert(const char *_assertMsg, const bool _spinLock)
int32_t col
Definition: cui.h:699
int32_t row
Definition: cui.h:698
bool manageLeds
Definition: cui.h:667
CUI_retVal_t CUI_processMenuUpdate(void)
CUI_retVal_t CUI_menuNav(const CUI_clientHandle_t _clientHandle, CUI_menu_t *_pMenu, const uint32_t _itemIndex)
CUI_retVal_t CUI_registerMenu(const CUI_clientHandle_t _clientHandle, CUI_menu_t *_pMenu)
CUI_retVal_t CUI_ledToggle(const CUI_clientHandle_t _clientHandle, const uint32_t _index)
uint32_t index
Definition: cui.h:691
bool manageUart
Definition: cui.h:668
void CUI_menuActionHelp(const char _input, char *_pLines[3], CUI_cursorInfo_t *_pCurInfo)
CUI_retVal_t CUI_updateMultiMenuTitle(const char *_pTitle)
CUI_retVal_t CUI_ledResourceRequest(const CUI_clientHandle_t _clientHandle, const CUI_ledRequest_t *_pRequest)
void(* CUI_btnPressCB_t)(uint32_t _index, Button_EventMask _buttonEvents)
Definition: cui.h:680
CUI_retVal_t CUI_btnSetCb(const CUI_clientHandle_t _clientHandle, const uint32_t _index, const CUI_btnPressCB_t _appCb)
CUI_retVal_t CUI_ledBlink(const CUI_clientHandle_t _clientHandle, const uint32_t _index, const uint16_t _numBlinks)
CUI_retVal_t CUI_init(CUI_params_t *_pParams)
CUI_retVal_t CUI_statusLinePrintf(const CUI_clientHandle_t _clientHandle, const uint32_t _lineId, const char *format,...)
CUI_retVal_t CUI_statusLineResourceRequest(const CUI_clientHandle_t _clientHandle, const char _pLabel[MAX_STATUS_LINE_LABEL_LEN], uint32_t *_pLineId)
CUI_retVal_t CUI_ledResourceRelease(const CUI_clientHandle_t _clientHandle, const uint32_t _index)
CUI_clientHandle_t CUI_clientOpen(CUI_clientParams_t *_pParams)
void(* CUI_pFnIntercept_t)(const char _input, char *_lines[3], CUI_cursorInfo_t *_curInfo)
Definition: cui.h:706
CUI_retVal
Definition: cui.h:635
CUI_retVal_t CUI_ledOff(const CUI_clientHandle_t _clientHandle, const uint32_t _index)
void CUI_menuActionBack(const int32_t _itemEntry)
enum CUI_retVal CUI_retVal_t
CUI_retVal_t CUI_btnResourceRequest(const CUI_clientHandle_t _clientHandle, const CUI_btnRequest_t *_pRequest)
CUI_retVal_t CUI_ledOn(const CUI_clientHandle_t _clientHandle, const uint32_t _index, const uint8_t _brightness)
uint32_t index
Definition: cui.h:683
void CUI_clientParamsInit(CUI_clientParams_t *_pClientParams)
bool manageBtns
Definition: cui.h:666
CUI_retVal_t CUI_btnGetValue(const CUI_clientHandle_t _clientHandle, const uint32_t _index, bool *_pBtnState)
void(* CUI_pFnClientMenuUpdate_t)(void)
Definition: cui.h:702
uint32_t CUI_clientHandle_t
Definition: cui.h:663
#define MAX_STATUS_LINE_LABEL_LEN
Definition: cui.h:527