#ifndef ce_rx_measure_h #define ce_rx_measure_h /* Cesar project {{{ * * Copyright (C) 2009 Spidcom * * <<>> * * }}} */ /** * \file ce/rx/measure.h * \brief Receive and pre-process measures from the SAR. * \ingroup ce_rx * * This sub module of the CE in RX can be divided into two parts: * - receive the measures of the SAR (executed in the context of the SAR). * This part should be quick and just copy data, without any processing and * add a work flag for the CE in RX. * - process of received data. This part is done in the context of the CE in * RX ; it processes measures and give the to the bitloading. */ #include "mac/sar/sar.h" /** * Number of blocks required to get all the noise NRJ from the PBProc. */ #define CE_RX_MEASURE_CONF_SIZE \ ((PHY_CARRIER_NB + (BLK_SIZE / 4) - 1) / (BLK_SIZE / 4)) BEGIN_DECLS /** * Call back called by the SAR to give the measures. * \param data the context of the CE RX. * \param rx_params general information on measures (date, from). * \param total_pb_count number of PBs available in the frame. * \param chan_data the head of the channel data. * \param chan_data_count the count of PBs in the channel data. * \param false_pb_count number of false PBs (CRC error) inside the frame. * \param ber_sum BER sum of each PBs with no CRC error inside the frame. * * Have a look at \sa sar_measurement_cb_t. */ void ce_rx_measure_sar_cb (void *data, pbproc_rx_params_t *rx_params, uint total_pb_count, pb_t *chan_data, uint chan_data_count, u8 false_pb_count, u32 ber_sum); END_DECLS #endif /* ce_rx_measure_h */