FreeCalypso > hg > fc-tourmaline
view cdg-hybrid/cdginc/p_mphp.val @ 78:c632896652ba
mfw/ti1_key.c: properly initialize notified_keys array
The code in this ti1_key.c layer needs to call kpd_subscribe() and
kpd_define_key_notification() functions in order to register with the
KPD driver. The original code passed KPD_NB_PHYSICAL_KEYS in
nb_notified_keys - this constant is defined to 24 in kpd_cfg.h on all
platforms of interest to us - but it only filled the first 23 slots
in the notified_keys array, resulting in stack garbage being passed
to KPD API functions. The fix consists of initializing the last
missed array slot to KPD_KEY_RECORD, the key ID for the right side
button on the D-Sample handset.
On our current hw targets this "Record" button exists as the EXTRA
button on our Luna keypad board and as the camera button on the
Pirelli DP-L10. There is no support whatsoever for this button
in current BMI+MFW, we have no plans of doing anything with Pirelli's
camera button even if we do get our UI fw running on that phone,
and the Mother's dream of building our own FreeCalypso handset with
the same button arrangement as D-Sample (including the right side
button) is currently very nebulous - but let us nonetheless handle
the full set of buttons on the KPD to MFW interface, and let upper
layers weed out unsupported buttons.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 25 Oct 2020 23:41:01 +0000 |
parents | 35f7a1dc9f7d |
children |
line wrap: on
line source
/* +--------------------------------------------------------------------------+ | PROJECT : PROTOCOL STACK | | FILE : p_mphp.val | | SOURCE : "sap\mphp.pdf" | | LastModified : "2003-01-13" | | IdAndVersion : "8441.100.03.011" | | SrcFileTime : "Mon Nov 24 15:49:34 2003" | | Generated by CCDGEN_2.5.5A on Fri Oct 14 21:41:52 2016 | | !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!! | +--------------------------------------------------------------------------+ */ /* PRAGMAS * PREFIX : NONE * COMPATIBILITY_DEFINES : NO (require PREFIX) * ALWAYS_ENUM_IN_VAL_FILE: NO * ENABLE_GROUP: NO * CAPITALIZE_TYPENAME: NO */ #ifndef P_MPHP_VAL #define P_MPHP_VAL #define CDG_ENTER__P_MPHP_VAL #define CDG_ENTER__FILENAME _P_MPHP_VAL #define CDG_ENTER__P_MPHP_VAL__FILE_TYPE CDGINC #define CDG_ENTER__P_MPHP_VAL__LAST_MODIFIED _2003_01_13 #define CDG_ENTER__P_MPHP_VAL__ID_AND_VERSION _8441_100_03_011 #define CDG_ENTER__P_MPHP_VAL__SRC_FILE_TIME _Mon_Nov_24_15_49_34_2003 #include "CDG_ENTER.h" #undef CDG_ENTER__P_MPHP_VAL #undef CDG_ENTER__FILENAME /* * Value constants for VAL_psi_nr */ #define VAL_PSI_NR___0 (0x0) /* read all PSI */ /* * Value constants for VAL_bs_pbcch_blks */ #define VAL_BS_PBCCH_BLKS___0 (0x0) /* B0 is used for PBCCH */ #define VAL_BS_PBCCH_BLKS___1 (0x1) /* B0, B6 is used for PBCCH */ #define VAL_BS_PBCCH_BLKS___2 (0x2) /* B0, B6, B3 is used for PBCCH */ #define VAL_BS_PBCCH_BLKS___3 (0x3) /* B0, B6, B3, B9 is used for PBCCH */ /* * Value constants for VAL_psi1_rep_period */ /* * Value constants for VAL_relative_pos_array */ /* * Value constants for VAL_hopping */ #define VAL_HOPPING___0 (0x0) /* static */ #define VAL_HOPPING___1 (0x1) /* hopping */ #define MPHP_INT_MEAS_STATIC (0x2) /* static */ #define MPHP_INT_MEAS_HOPPING (0x3) /* hopping */ #define VAL_HOPPING___4 (0x4) /* static */ #define VAL_HOPPING___5 (0x5) /* hopping */ /* * Value constants for VAL_tsc */ /* * Value constants for VAL_tn */ #define VAL_TN___FF (0xff) /* Value not present */ /* * Value constants for VAL_l2_channel */ #define L2_PCHANNEL_PCCCH (0x1) /* PCCCH block */ #define L2_PCHANNEL_PBCCH (0x2) /* PBCCH block */ #define L2_PCHANNEL_PPCH (0x3) /* PPCH block */ #define L2_PCHANNEL_PEPCH (0x4) /* PEPCH block */ #define L2_PCHANNEL_PACCH (0x5) /* PACCH block */ /* * Value constants for VAL_error_flag */ #define VAL_ERROR_FLAG___1 (0x1) /* valid block info */ #define VAL_ERROR_FLAG___0 (0x0) /* invalid block info */ /* * Value constants for VAL_bs_pag_blks_res */ /* * Value constants for VAL_page_mode */ #define PAGE_NORMAL (0x0) /* normal paging */ #define PAGE_EXT (0x1) /* extended paging */ #define PAGE_REORG (0x2) /* paging reorganisation */ /* * Value constants for VAL_nb_carrier */ /* * Value constants for VAL_nmeas */ /* * Value constants for VAL_fn_offset */ /* * Value constants for VAL_time_alignment */ /* * Value constants for VAL_bs_prach_blks */ #define VAL_BS_PRACH_BLKS___0 (0x0) /* No block is reserved for PRACH (default) */ #define VAL_BS_PRACH_BLKS___1 (0x1) /* B0 is used for PRACH */ #define VAL_BS_PRACH_BLKS___2 (0x2) /* B0, B6 is used for PRACH */ #define VAL_BS_PRACH_BLKS___3 (0x3) /* B0, B6, B3 is used for PRACH */ #define VAL_BS_PRACH_BLKS___4 (0x4) /* B0, B6, B3, B9 is used for PRACH */ #define VAL_BS_PRACH_BLKS___5 (0x5) /* B0, B6, B3, B9, B1 is used for PRACH */ #define VAL_BS_PRACH_BLKS___6 (0x6) /* B0, B6, B3, B9, B1, B7 is used for PRACH */ #define VAL_BS_PRACH_BLKS___7 (0x7) /* B0, B6, B3, B9, B1, B7, B4 is used for PRACH */ #define VAL_BS_PRACH_BLKS___8 (0x8) /* B0, B6, B3, B9, B1, B7, B4, B10 is used for PRACH */ #define VAL_BS_PRACH_BLKS___9 (0x9) /* B0, B6, B3, B9, B1, B7, B4, B10, B2 is used for PRACH */ #define VAL_BS_PRACH_BLKS___A (0xa) /* B0, B6, B3, B9, B1, B7, B4, B10, B2, B8 is used for PRACH */ #define VAL_BS_PRACH_BLKS___B (0xb) /* B0, B6, B3, B9, B1, B7, B4, B10, B2, B8, B5 is used for PRACH */ #define VAL_BS_PRACH_BLKS___C (0xc) /* B0, B6, B3, B9, B1, B7, B4, B10, B2, B8, B5, B11 is used for PRACH */ /* * Value constants for VAL_burst_type */ #define ACCESS_8_BIT (0x0) #define ACCESS_11_BIT (0x1) /* * Value constants for VAL_assign_cmd */ #define DL_ASSIGNMENT (0x0) /* Downlink assignment */ #define UL_ASSIGNMENT (0x1) /* Uplink assignment */ #define UL_DL_ASSIGNMENT (0x2) /* Uplink and downlink assignment */ /* * Value constants for VAL_m_class */ /* * Value constants for VAL_repeat_alloc */ #define VAL_REPEAT_ALLOC___0 (0x0) /* cancel any pending repeat allocation */ #define VAL_REPEAT_ALLOC___1 (0x1) /* repeat the current fixed allocation when it ends */ /* * Value constants for VAL_purpose */ #define VAL_PURPOSE___0 (0x0) /* reserved */ #define VAL_PURPOSE___1 (0x1) /* reserved */ #define VAL_PURPOSE___2 (0x2) /* reserved */ #define SINGLE_BLOCK_TRANSFER_DL (0x3) /* todo ??? reception? */ #define SINGLE_BLOCK_TRANSFER_UL (0x4) /* i.e. measurement report */ #define TWO_PHASE_ACESS (0x5) /* two phases access */ /* * Value constants for VAL_ta_value */ #define VAL_TA_VALUE___FF (0xff) /* value not present */ /* * Value constants for VAL_ta_index */ #define VAL_TA_INDEX___FF (0xff) /* value not present */ /* * Value constants for VAL_ul_tfi */ /* * Value constants for VAL_dl_tfi */ /* * Value constants for VAL_mac_mode */ #define DA (0x0) /* Dynamic allocation */ #define EDA (0x1) /* Extended Dynamic allocation */ #define FA (0x2) /* Fixed allocation, not half duplex mode */ #define FA_HD (0x3) /* Fixed allocation, half duplex mode */ /* * Value constants for VAL_usf_gran */ #define VAL_USF_GRAN___0 (0x0) /* the ms shall transmit one RLC/MAC-Block */ #define VAL_USF_GRAN___1 (0x1) /* the ms shall transmit four consecutive RLC/MAC-Block */ /* * Value constants for VAL_dl_ctrl_ts */ /* * Value constants for VAL_size_bitmap */ /* * Value constants for VAL_tbf_start_present */ #define VAL_TBF_START_PRESENT___0 (0x0) /* not present */ #define VAL_TBF_START_PRESENT___1 (0x1) /* present */ /* * Value constants for VAL_pc_meas_chan */ #define MEAS_BCCH (0x0) #define MEAS_PDCH (0x1) /* * Value constants for VAL_tbf_type */ #define REL_DL_TBF (0x0) /* Release only the downlink TBF */ #define REL_UL_TBF (0x1) /* Release only the uplink TBF */ #define REL_ALL_TBF (0x2) /* Release both uplink and downlink TBFs */ /* * Value constants for VAL_poll_resp_type */ #define POLL_RESP_NB_CS1 (0x3) /* normal burst */ #define POLL_RESP_AB_8_BIT (0x7) /* access burst */ #define POLL_RESP_AB_11_BIT (0x8) /* access burst */ /* * Value constants for VAL_sb_status */ #define SB_STAT_OK (0x0) /* In uplink, indicates that the single block was sent. */ #define SB_STAT_DL_CRC_ERROR (0x0) /* In downlink, indicates that the downlink single block was received with no CRC_ERROR. */ #define SB_STAT_STIME_PASSED (0x1) /* Starting time is passed. Single block uplink/downlink was not sent/received. */ #define SB_STAT_TA_INVALID (0x2) /* No valid timing advance. Single block was not sent. */ #define SB_STAT_DL_OK (0x3) /* Valid downlink single block received ( NO CRC_ERROR). */ /* * Value constants for VAL_if_meas_enable */ #define MPHP_IM_DISABLED (0x0) /* interference measurement processing disabled */ #define MPHP_IM_ENABLED (0x1) /* interference measurement processing enabled */ /* * user defined constants */ #define MAX_L2_FRAME_SIZE (0x17) #define MAX_RELATIVE_POS (0x14) #define MPHP_NUMC_MA (0x40) #define MAX_USF_TABLE (0x8) #define MAX_ALLOC_BITMAP (0x7f) #define MPHP_NUMC_BA_GPRS_SC (0x21) #include "CDG_LEAVE.h" #endif