📄 guiapp_action_autolockmenu.c
字号:
/*****************************************************************************
** TEXAS INSTRUMENTS PROPRIETARY INFORMATION
**
** (c) Copyright, Texas Instruments Incorporated, 2006.
** All Rights Reserved.
**
** Property of Texas Instruments Incorporated. Restricted Rights -
** Use, duplication, or disclosure is subject to restrictions set
** forth in TI's program license agreement and associated documentation.
******************************************************************************/
#include "common.h"
#include "guiStyle.h"
#include "guiApp_action.h"
#include "datapath.h"
#include "adccontrol.h"
#include "guiApp_action_menu_values.h"
#include "ddp2230_rtos_include.h"
GUI_AUTOLOCK_MENU_VALUES_STRUCT *autolockMenuValues;
extern uint32 gID_MemPool;
/* Initialize the items. No autolock menu items are read from the EEPROM by the GUI */
int08 guiApp_action_AutolockMenu_OnStart( int16 menuId, GUIMSG *msg )
{
int08 min, max;
if( RTA_MemRequest( gID_MemPool, sizeof( GUI_AUTOLOCK_MENU_VALUES_STRUCT ), (void **)&autolockMenuValues ) == PASS )
{
adccontrol_GetPhase( &autolockMenuValues->phase );
adccontrol_GetPhaseLimits( &min, &max );
autolockMenuValues->phase = LMT( min, autolockMenuValues->phase, max );
guiStyle_item_SetSingleValue( ITEM_PHASEITEM, autolockMenuValues->phase, min, max );
adccontrol_GetTracking( &autolockMenuValues->tracking );
adccontrol_GetTrackingLimits( &min, &max );
autolockMenuValues->tracking = LMT( min, autolockMenuValues->tracking, max );
guiStyle_item_SetSingleValue( ITEM_TRACKINGITEM, autolockMenuValues->tracking, min, max );
adccontrol_GetHorizontalPosition( &autolockMenuValues->horizontalPosition );
adccontrol_GetHorizontalPositionLimits( &min, &max );
autolockMenuValues->horizontalPosition = LMT( min, autolockMenuValues->horizontalPosition, max );
guiStyle_item_SetSingleValue( ITEM_HPOSITEM, autolockMenuValues->horizontalPosition, min, max );
adccontrol_GetVerticalPosition( &autolockMenuValues->verticalPosition );
adccontrol_GetVerticalPositionLimits( &min, &max );
autolockMenuValues->verticalPosition = LMT( min, autolockMenuValues->verticalPosition, max );
guiStyle_item_SetSingleValue( ITEM_VPOSITEM, autolockMenuValues->verticalPosition, min, max );
}
else
{
guiStyle_HideItem( menuId, ITEM_PHASEITEM, TRUE );
guiStyle_HideItem( menuId, ITEM_TRACKINGITEM, TRUE );
guiStyle_HideItem( menuId, ITEM_HPOSITEM, TRUE );
guiStyle_HideItem( menuId, ITEM_VPOSITEM, TRUE );
}
return PASS;
}
int08 guiApp_action_AutolockMenu_OnClose( int16 menuId )
{
/* release autolock menu memory structure requested in onStart */
RTA_MemRelease( autolockMenuValues );
return PASS;
}
/* specify the highlight window as required by the GUI Style ADL */
int08 guiApp_action_AutolockMenu_GetHighlightWindow( int16 menuId, uint08 *window )
{
*window = WIND_AUTOLOCKMENUHIGHLIGHT;
return PASS;
}
/* implement item behavior, system interaction */
int08 guiApp_action_AutolockMenu_GuiMsg( int16 menuId, int16 itemId, GUIMSG *msg )
{
int08 min, max;
if( msg == NULL )
return FAIL;
switch( itemId )
{
case ITEM_RESYNCITEM:
switch( msg->type )
{
case GUIMSG_ASSERT:
datapath_UserResync();
break;
default:
break;
}
break;
case ITEM_PHASEITEM:
switch( msg->type )
{
case GUIMSG_DEC:
adccontrol_GetPhaseLimits( &min, &max );
if( autolockMenuValues->phase > min )
autolockMenuValues->phase -= 1;
else
autolockMenuValues->phase = min;
if( adccontrol_SetPhase( autolockMenuValues->phase ) == PASS )
guiStyle_item_SetSingleValue( ITEM_PHASEITEM, autolockMenuValues->phase, min, max );
break;
case GUIMSG_INC:
adccontrol_GetPhaseLimits( &min, &max );
if( autolockMenuValues->phase < max )
autolockMenuValues->phase += 1;
else
autolockMenuValues->phase = max;
if( adccontrol_SetPhase( autolockMenuValues->phase ) == PASS )
guiStyle_item_SetSingleValue( ITEM_PHASEITEM, autolockMenuValues->phase, min, max );
break;
default:
break;
}
break;
case ITEM_TRACKINGITEM:
switch( msg->type )
{
case GUIMSG_DEC:
adccontrol_GetTrackingLimits( &min, &max );
if( autolockMenuValues->tracking > min )
autolockMenuValues->tracking -= 1;
else
autolockMenuValues->tracking = min;
if( adccontrol_SetTracking( autolockMenuValues->tracking ) == PASS )
guiStyle_item_SetSingleValue( ITEM_TRACKINGITEM, autolockMenuValues->tracking, min, max );
break;
case GUIMSG_INC:
adccontrol_GetTrackingLimits( &min, &max );
if( autolockMenuValues->tracking < max )
autolockMenuValues->tracking += 1;
else
autolockMenuValues->tracking = max;
if( adccontrol_SetTracking( autolockMenuValues->tracking ) == PASS )
guiStyle_item_SetSingleValue( ITEM_TRACKINGITEM, autolockMenuValues->tracking, min, max );
break;
default:
break;
}
break;
case ITEM_HPOSITEM:
switch( msg->type )
{
case GUIMSG_DEC:
adccontrol_GetHorizontalPositionLimits( &min, &max );
if( autolockMenuValues->horizontalPosition > min )
autolockMenuValues->horizontalPosition -= 1;
else
autolockMenuValues->horizontalPosition = min;
if( adccontrol_SetHorizontalPosition( autolockMenuValues->horizontalPosition ) == PASS )
guiStyle_item_SetSingleValue( ITEM_HPOSITEM, autolockMenuValues->horizontalPosition, min, max );
break;
case GUIMSG_INC:
adccontrol_GetHorizontalPositionLimits( &min, &max );
if( autolockMenuValues->horizontalPosition < max )
autolockMenuValues->horizontalPosition += 1;
else
autolockMenuValues->horizontalPosition = max;
if( adccontrol_SetHorizontalPosition( autolockMenuValues->horizontalPosition ) == PASS )
guiStyle_item_SetSingleValue( ITEM_HPOSITEM, autolockMenuValues->horizontalPosition, min, max );
break;
default:
break;
}
break;
case ITEM_VPOSITEM:
switch( msg->type )
{
case GUIMSG_DEC:
adccontrol_GetVerticalPositionLimits( &min, &max );
if( autolockMenuValues->verticalPosition > min )
autolockMenuValues->verticalPosition -= 1;
else
autolockMenuValues->verticalPosition = min;
if( adccontrol_SetVerticalPosition( autolockMenuValues->verticalPosition ) == PASS )
guiStyle_item_SetSingleValue( ITEM_VPOSITEM, autolockMenuValues->verticalPosition, min, max );
break;
case GUIMSG_INC:
adccontrol_GetVerticalPositionLimits( &min, &max );
if( autolockMenuValues->verticalPosition < max )
autolockMenuValues->verticalPosition += 1;
else
autolockMenuValues->verticalPosition = max;
if( adccontrol_SetVerticalPosition( autolockMenuValues->verticalPosition ) == PASS )
guiStyle_item_SetSingleValue( ITEM_VPOSITEM, autolockMenuValues->verticalPosition, min, max );
break;
default:
break;
}
break;
case ITEM_SAVESETTINGSITEM:
if( msg->type == GUIMSG_ASSERT )
{
guiStyle_Exit();
guiStyle_StartMenu( MENU_AUTOLOCKSAVESUBMENU, NULL );
}
break;
default:
return FAIL;
}
return PASS;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -