FreeCalypso > hg > fc-tourmaline
view src/g23m-aci/aci/psa_ss.h @ 75:8697f358f505
backlight rework: Condat light driver accepts levels
The present change is another intermediate step on the path toward
new FreeCalypso backlight handling. At this intermediate step the
Condat light driver accepts 0-255 backlight levels driven by MFW,
and puts them out on PWL on Luna development boards. At the same
time on C139 it is now possible to turn on the display backlight
with or without the keypad bl - the lsb of the 0-255 backlight level
controls the keypad bl.
MFW presently drives only 0 and 255 backlight levels, thus there is
no visible behavioral change yet - but the plan for subsequent stages
of this backlight rework is to add a dimmed backlight state
(no keypad bl on C139) during active calls.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 24 Oct 2020 20:44:04 +0000 |
parents | fa8dc04885d8 |
children |
line wrap: on
line source
/* +----------------------------------------------------------------------------- | Project : GSM-PS (6147) | Modul : PSA_SS +----------------------------------------------------------------------------- | Copyright 2002 Texas Instruments Berlin, AG | All rights reserved. | | This file is confidential and a trade secret of Texas | Instruments Berlin, AG | The receipt of or possession of this file does not convey | any rights to reproduce or disclose its contents or to | manufacture, use, or sell anything it may describe, in | whole, or in part, without the specific written consent of | Texas Instruments Berlin, AG. +----------------------------------------------------------------------------- | Purpose : Definitions for the protocol stack adapter +----------------------------------------------------------------------------- */ #ifndef PSA_SS_H #define PSA_SS_H /*==== CONSTANTS ==================================================*/ #define DEF_SS_VER (0) /* default SS version */ #define MAX_SS_NR (4) /* maximum number of calls */ #define TEST_STR_LEN (80) /* maximum length of test parameter string */ #define NO_ENTRY (-1) /* not a valid entry */ #define SS_NO_PRM (0xFF) /* parameter not present */ typedef enum /* service status */ { NO_VLD_SSS = 0, /* not a valid service status */ SSS_IDL, /* service idle */ SSS_ACT, /* service active */ SSS_PWD_REQ, /* service password request */ SSS_PWD_SND, /* service password sent */ SSS_PWD_VRF /* service password verified */ } T_SS_CLST; typedef enum { NO_VLD_ST = 0, /* not a valid service type */ ST_MOS, /* mobile originated service */ ST_MTS /* mobile terminated service */ } T_SS_SSTP; typedef enum { NO_VLD_SSF = 0, /* not a valid SS failure type */ SSF_SS_ERR, /* SS error component */ SSF_GEN_PRB, /* SS reject comp. general problem */ SSF_INV_PRB, /* SS reject comp. invoke problem */ SSF_ERR_PRB, /* SS reject comp. return error problem */ SSF_RSL_PRB, /* SS reject comp. return result problem */ SSF_CCD_DEC, /* CCD decode error */ SSF_SS_ENT /* SS entity error */ } T_SS_FAIL; typedef enum /* PSA notification events */ { SS_NTF_NEW_TRN = 0, /* new SS transaction started */ SS_NTF_END_TRN, /* existing SS transaction stopped */ SS_NTF_CNT_TRN, /* existing transaction continued */ SS_NTF_TRN_FAIL, /* SS transaction failed */ SS_NTF_TST, /* for test purposes only */ SS_NTF_MAX /* maximum SS notification event */ } T_SS_NTF; typedef enum { CT_INV = 0xA1, /* invoke component type */ CT_RET_RSLT, /* return result component type */ CT_RET_ERR, /* return error component type */ CT_RET_REJ, /* reject component type */ CT_MAX } T_CMP_TYPE; typedef enum { BS_BEAR_NONE = 0xFF, /* no valid bearer service */ BS_BEAR_SRV = 0x82, /* bearer service type */ BS_TELE_SRV, /* teleservice type */ BS_TP_MAX } T_BS_TYPE; /*==== TYPES ======================================================*/ typedef struct SSServiceTabl { BOOL ntryUsdFlg; /* flags this entry as used */ UBYTE ti; /* transaction identifier */ UBYTE iId; /* invoke id */ UBYTE srvStat; /* service status */ UBYTE srvType; /* type of service */ UBYTE SSver; /* supplementary service version */ UBYTE orgOPC; /* originated SS operation code */ UBYTE opCode; /* SS operation code */ UBYTE ssCode; /* SS service code */ USHORT ClassType; /* holds class queried by user */ UBYTE ussdReqFlg; /* flags USSD request */ UBYTE ussd_operation; /* flags an on-going USSD operation */ UBYTE failType; /* type of SS failure */ USHORT entCs; /* entity failure cause */ UBYTE rejPrb; /* reject problem code */ UBYTE errCd; /* return error code */ UBYTE errPrms; /* Parameters associated with the Error */ T_ACI_AT_CMD curCmd; /* current command executing */ T_OWN srvOwn; /* owner of service */ T_MNSS_BEGIN_REQ *save_prim; /* address where pending trans is memorized */ } T_SS_SRV_TBL; typedef struct SSShrdParm { T_SS_SRV_TBL stb[MAX_SS_NR]; /* service table for max. nr of services */ UBYTE iIdNxt; /* next available invoke id */ SHORT nrOfMOS; /* number of current MOS's */ SHORT nrOfMTS; /* number of current MTS's */ UBYTE cmpType; /* component type */ UBYTE ussdLen; /* length of ussd string */ UBYTE ussdDcs; /* DCS of ussd string */ UBYTE ussdBuf[MAX_USSD_STRING]; /* buffers ussd string */ USHORT mltyTrnFlg; /* holds id flag of pending transactions */ } T_SS_SHRD_PRM; /*==== PROTOTYPES =================================================*/ void psaSS_Init ( void ); EXTERN SHORT psaSS_NewTrns ( SHORT sId ); EXTERN SHORT psaSS_EndTrns ( SHORT sId ); EXTERN SHORT psaSS_CntTrns ( SHORT sId ); EXTERN void psaSS_asmEmptyRslt ( void ); EXTERN void psaSS_asmErrorRslt ( SHORT sId, UBYTE err ); EXTERN void psaSS_asmInterrogateSS ( UBYTE ssCode, UBYTE bscSrvType, UBYTE bscSrv); EXTERN void psaSS_asmRegisterSS ( UBYTE ssCode, UBYTE bscSrvType, UBYTE bscSrv, UBYTE ton, UBYTE npi, UBYTE *num, UBYTE tos, UBYTE oe, UBYTE *sub, UBYTE time ); EXTERN void psaSS_asmEraseSS ( UBYTE ssCode, UBYTE bscSrvType, UBYTE bscSrv ); EXTERN void psaSS_asmActivateSS ( UBYTE ssCode, UBYTE bscSrvType, UBYTE bscSrv ); EXTERN void psaSS_asmDeactivateSS ( UBYTE ssCode, UBYTE bscSrvType, UBYTE bscSrv ); EXTERN void psaSS_asmRegisterPWD ( UBYTE ssCode ); EXTERN void psaSS_asmVerifyPWD ( UBYTE *pwd ); EXTERN void psaSS_asmProcUSSDReq ( UBYTE dcs, UBYTE *ussd, UBYTE len ); EXTERN void psaSS_asmCnfUSSDReq ( UBYTE dcs, UBYTE *ussd, UBYTE len ); EXTERN void psaSS_asmCnfUSSDNtfy ( void ); EXTERN BOOL psaSS_asmUSSDProt1 ( SHORT sId ); #if 0 /* For further study, so not yet used */ EXTERN void psaSS_asmActivateCCBS ( void ); #endif EXTERN void psaSS_asmDeactivateCCBS( UBYTE idx ); EXTERN SHORT psaSS_stbNewEntry ( void ); EXTERN SHORT psaSS_stbFindTi ( UBYTE ti2Find ); EXTERN SHORT psaSS_stbFindInvId ( UBYTE invId2Find ); EXTERN void psaSS_stbDump ( void ); EXTERN void psaSS_chngSrvTypCnt ( SHORT sId, SHORT dlt ); EXTERN SHORT psaSS_getMOSTi ( SHORT sId ); EXTERN void psaSS_retMOSTi ( SHORT sId ); EXTERN SHORT psaSS_stbFindUssdReq ( void ); EXTERN SHORT psaSS_stbFindActSrv ( SHORT sId ); EXTERN void psaSS_InitStbNtry ( SHORT idx ); EXTERN void psaSS_DumpFIE ( T_fac_inf *fie ); EXTERN void psaSS_dasmInvokeCmp ( SHORT sId, T_inv_comp *invCmp ); EXTERN void psaSS_dasmResultCmp ( SHORT sId, T_res_comp *resCmp ); EXTERN T_ACI_RETURN psaSS_dasmErrorCmp ( SHORT sId, T_err_comp *errCmp, BOOL is_fac_ussd ); EXTERN T_ACI_RETURN psaSS_dasmRejectCmp ( SHORT sId, T_rej_comp *rejCmp, BOOL is_fac_ussd ); EXTERN T_ACI_RETURN psaSS_ss_end_ind ( SHORT sId, T_COMPONENT *comp, BOOL is_fac_ussd ); EXTERN SHORT psaSS_GetPendingTrn ( void ); EXTERN void psaSS_KillAllPendingTrn( void ); /*==== EXPORT =====================================================*/ #ifdef PSA_SSF_C GLOBAL T_SS_SHRD_PRM ssShrdPrm; #else EXTERN T_SS_SHRD_PRM ssShrdPrm; #endif /* PSA_SSF_C */ #endif /* PSA_SS_H */ /*==== EOF =======================================================*/