FreeCalypso > hg > fc-magnetite
view src/cs/layer1/p_include/l1p_msgt.h @ 632:d968a3216ba0
new tangomdm build target
TCS211/Magnetite built for target leonardo runs just fine on the Tango-based
Caramel board, but a more proper tangomdm build target is preferable in order
to better market these Tango modems to prospective commercial customers. The
only differences are in GPIO and MCSI config:
* MCSI is enabled in the tangomdm build config.
* GPIO 1 is loudspeaker amplifier control on Leonardo, but on Tango platforms
it can be used for anything. On Caramel boards this GPIO should be
configured as an output driving high.
* GPIO 2 needs to be configured as Calypso input on Leonardo, but on Tango
platforms it can be used for anything. On Caramel boards this GPIO should be
configured as an output, either high or low is OK.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 04 Jan 2020 19:27:41 +0000 |
parents | 945cf7f506b2 |
children |
line wrap: on
line source
/************* Revision Controle System Header ************* * GSM Layer 1 software * L1P_MSGT.H * * Filename l1p_msgt.h * Copyright 2003 (C) Texas Instruments * ************* Revision Controle System Header *************/ /* channels types */ #define L2_PCHANNEL_PCCCH 1 #define L2_PCHANNEL_PBCCH 2 #define L2_PCHANNEL_PPCH 3 #define L2_PCHANNEL_PEPCH 4 #define L2_PCHANNEL_PACCH 5 typedef struct { UWORD8 txpwr; UWORD16 rand; UWORD16 channel_request_data; UWORD8 bs_prach_blks; UWORD8 access_burst_type; } T_MPHP_RA_REQ; typedef struct { UWORD32 fn; UWORD16 channel_request_data; } T_MPHP_RA_CON; typedef struct { UWORD8 pol_resp_type; UWORD8 channel_request_data[24]; UWORD32 fn; UWORD8 timing_advance; UWORD8 txpwr; } T_MPHP_POLLING_RESPONSE_REQ; typedef struct { UWORD32 fn; } T_MPHP_POLLING_IND; typedef struct { UWORD8 ta; UWORD8 ta_index; UWORD8 ta_tn; } T_PACKET_TA; typedef struct { BOOL present; UWORD32 absolute_fn; } T_TBF_STI; typedef struct { T_CHN_SEL chan_sel; T_MOBILE_ALLOCATION freq_list; } T_PACKET_FREQ_PARAM; typedef struct { UWORD8 ctrl_timeslot; UWORD8 bitmap_length; UWORD8 bitmap[127]; } T_FIXED_ALLOC; typedef struct { UWORD8 usf_table[8]; BOOL usf_granularity; } T_DYNAMIC_ALLOC; typedef struct { UWORD8 tfi; UWORD8 timeslot_alloc; } T_DL_RESSOURCE_ALLOC; typedef struct { UWORD8 tfi; UWORD8 timeslot_alloc; T_DYNAMIC_ALLOC dynamic_alloc; T_FIXED_ALLOC fixed_alloc; } T_UL_RESSOURCE_ALLOC; typedef struct { UWORD8 p0; BOOL bts_pwr_ctl_mode; BOOL pr_mode; } T_DL_POWER_CTL; typedef struct { UWORD8 assignment_id; UWORD8 assignment_command; UWORD8 multislot_class; BOOL interf_meas_enable; BOOL pc_meas_chan; BOOL access_burst_type; T_PACKET_TA packet_ta; T_DL_POWER_CTL dl_pwr_ctl; UWORD8 tsc; T_PACKET_FREQ_PARAM freq_param; T_TBF_STI tbf_sti; UWORD8 mac_mode; T_DL_RESSOURCE_ALLOC dl_ressource_alloc; T_UL_RESSOURCE_ALLOC ul_ressource_alloc; } T_MPHP_ASSIGNMENT_REQ; typedef struct { BOOL repeat_allocation; UWORD8 ts_override; T_TBF_STI tbf_sti; } T_MPHP_REPEAT_UL_FIXED_ALLOC_REQ; typedef struct { UWORD8 assignment_id; UWORD8 purpose; BOOL pc_meas_chan; BOOL access_burst_type; T_PACKET_TA packet_ta; T_DL_POWER_CTL dl_pwr_ctl; UWORD8 tsc; T_PACKET_FREQ_PARAM freq_param; T_TBF_STI tbf_sti; UWORD8 timeslot_number; UWORD8 data_array[23]; } T_MPHP_SINGLE_BLOCK_REQ; typedef struct { UWORD8 assignment_id; UWORD8 purpose; UWORD8 status; BOOL dl_error_flag; UWORD8 data_array[23]; } T_MPHP_SINGLE_BLOCK_CON; typedef struct { UWORD8 assignment_id; UWORD8 timeslot_available; } T_MPHP_PDCH_RELEASE_REQ; typedef struct { UWORD8 assignment_id; T_PACKET_TA packet_ta; } T_MPHP_TIMING_ADVANCE_REQ; typedef struct { UWORD8 tbf_type; } T_MPHP_TBF_RELEASE_REQ; /****************************************************************/ /* Structure definition for L3 <-> L1 messages */ /****************************************************************/ // Packet Channel Description: arfcn/Hopping description + TN + TSC typedef struct { T_CHN_SEL chan_sel; UWORD8 timeslot_no; UWORD8 tsc; } T_PACKET_CHANNEL_DESC; typedef struct { UWORD16 imsimod; UWORD16 kcn; UWORD16 split_pg_cycle; UWORD8 bs_pag_blks_res; UWORD8 bs_pbcch_blks; UWORD8 pb; UWORD8 page_mode; T_PACKET_CHANNEL_DESC packet_chn_desc; T_MOBILE_ALLOCATION frequency_list; } T_MPHP_START_PCCCH_REQ; typedef struct { UWORD16 radio_freq; UWORD8 l2_channel; BOOL error_flag; T_RADIO_FRAME l2_frame; UWORD8 relative_position; WORD8 pccch_lev; UWORD32 fn; } T_MPHP_DATA_IND; typedef struct { UWORD8 nbr_psi; UWORD8 bs_pbcch_blks; UWORD8 pb; UWORD8 psi1_repeat_period; UWORD8 relative_position_array[20]; T_PACKET_CHANNEL_DESC packet_chn_desc; T_MOBILE_ALLOCATION frequency_list; } T_MPHP_SCELL_PBCCH_REQ; typedef struct { UWORD8 nb_carrier; UWORD16 radio_freq_no[33]; UWORD8 list_id; } T_MPHP_CR_MEAS_REQ; typedef struct { WORD8 rxlev; } T_NCELL_MEAS; typedef struct { UWORD8 nmeas; T_NCELL_MEAS ncell_meas[33]; UWORD8 list_id; UWORD16 reporting_period; } T_MPHP_CR_MEAS_IND; typedef struct { WORD16 acc_level [33]; UWORD8 acc_nbmeas[33]; UWORD8 list_id; } T_MPHP_TCR_MEAS_IND; typedef struct { T_PACKET_FREQ_PARAM packet_intm_freq_param; UWORD8 carrier_id; UWORD8 tn; UWORD8 multislot_class; } T_MPHP_INT_MEAS_REQ; typedef struct { WORD8 rxlev[2]; } T_INT_MEAS; typedef struct { T_INT_MEAS int_meas[8]; UWORD8 id; } T_MPHP_INT_MEAS_IND; typedef struct { WORD8 rxlev[8]; UWORD32 fn; UWORD8 position; UWORD8 meas_bitmap; } T_L1P_ITMEAS_IND; typedef struct { UWORD8 bs_pbcch_blks; UWORD8 pb; UWORD8 psi1_repeat_period; UWORD8 relative_position; T_PACKET_CHANNEL_DESC packet_chn_desc; T_MOBILE_ALLOCATION frequency_list; UWORD16 bcch_carrier; UWORD32 fn_offset; UWORD32 time_alignment; } T_MPHP_NCELL_PBCCH_REQ; typedef struct { UWORD8 pb; BOOL access_burst_type; } T_MPHP_UPDATE_PSI_PARAM_REQ; typedef struct { BOOL released_all; UWORD8 tbf_type; WORD8 tn_difference; } T_L1P_TBF_RELEASED; typedef struct { UWORD8 tbf_type; } T_MPHP_TBF_RELEASE_CON; typedef struct { UWORD8 assignment_id; } T_MPHP_PDCH_RELEASE_CON; typedef struct { UWORD8 assignment_id; WORD8 tn_difference; BOOL Transfer_update; // Detect transition IDLE => Packet Transfer } T_L1P_TRANSFER_DONE; typedef struct { UWORD8 assignment_id; WORD8 tn_difference; } T_L1P_PDCH_RELEASE_CON; typedef struct { WORD8 tn_difference; } T_L1P_REPEAT_ALLOC_DONE; typedef struct { WORD8 tn_difference; } T_L1P_ALLOC_EXHAUST_DONE; typedef T_MPHP_DATA_IND T_MPHP_NCELL_PBCCH_IND; typedef T_MPHP_CR_MEAS_IND T_L1P_CR_MEAS_DONE; typedef T_MPHP_TCR_MEAS_IND T_L1P_TCR_MEAS_DONE; typedef T_MPHP_CR_MEAS_REQ T_MPHP_TCR_MEAS_REQ; typedef T_MPHP_PDCH_RELEASE_CON T_MPHP_TIMING_ADVANCE_CON; typedef T_MPHP_PDCH_RELEASE_CON T_MPHP_ASSIGNMENT_CON;