summaryrefslogtreecommitdiff
path: root/cesar
AgeCommit message (Collapse)Author
2013-10-04cesar/common/make: add CROSS_COMPILE_ECOS_... compiler override, closes #4224Nicolas Schodet
If defined, this variable is used instead of CROSS_COMPILE_... for ECOS only.
2013-08-30cesar/hal/phy: correct bridgedma stopped test loop, refs #4110Cyril Jourdan
2013-08-23cesar/lib/fixed: plot using real values on x axisNicolas Schodet
2013-08-23cesar/lib/fixed: update for newer sympy versionNicolas Schodet
2013-06-28cesar/ce/rx: change NSR margin and CE restart default values, closes #3570Jean-Philippe SAVE
We change these parameters to avoid the following case: the PBER is too high while the BER_target is at it minimum. See ticket #3942 for more details.
2013-06-14cesar/mac/pbproc: remove unused field in rx params, closes #4018Cyril Jourdan
Beacon period start date is not used anymore by the CE, now that PBProc is in charge of the matching of the received frames on intervals.
2013-06-14cesar/ce/rx/bl: remove unused functions, refs #4018Cyril Jourdan
Those functions are no longer necessary since it is the PBProc that does the matching between frames received and intervals.
2013-06-14cesar/ce/rx/bl/fsm: use PBProc interval matching computation, refs #4018Cyril Jourdan
Instead of re-computing frame date and trying to match it on an interval. In the same time, correct management of sound frame SRC in the tests when we want to test the data case and update ce_rx_bl_fsm_measure_to_event stub in cesar/ce/rx/test.
2013-06-14cesar/ce/rx/bl: reset sta intervals pointer when freeing them, refs #4018Cyril Jourdan
2013-06-14cesar/ce/rx/bl/test: fix intervals' test cases titlesCyril Jourdan
2013-06-14cesar/mac/pbproc: match data frames received to an interval, refs #4018Cyril Jourdan
Record the result of the matching of sound and data frames in RX params so that CE can use it.
2013-06-14cesar/mac/pbproc: fix sound frames interval matching computation, refs #4018Cyril Jourdan
2013-06-14cesar/mac/pbproc: make sta context more visible in some functions, refs #4018Cyril Jourdan
2013-06-14cesar/mac/pbproc: use sta_get_noref instead of sta_get, refs #4018Cyril Jourdan
This commit only makes this modification where it is needed to prepare the next commits related to #4018 but there could be some more replacement done (e.g in pbproc_prep_mpdu function) that will be the object of a future commit.
2013-06-14cesar/mac/common: backport mac_store_sta_get_noref from EoC, refs #4018Cyril Jourdan
2013-06-14cesar/hal/phy/spoc/test: store constant in a variable, refs #4044Olivier Dufour
2013-06-14cesar/mac/common: increase MAC tolerance, closes #4043Nicolas Schodet
This is needed for extra long cables (up to 1200m).
2013-06-14cesar/hal/phy: set default SPOC matrix mask, closes #4041Nicolas Schodet
2013-06-14cesar/hal/phy: add spoc matrix mask, refs #4041Nicolas Schodet
2013-06-12cesar/mac/pbproc: update backoff, closes #4037Milenko Jelisavcic
2013-06-12cesar/mac/pbproc: refactor access partMilenko Jelisavcic
2013-06-07cesar/ce/rx/test: fix unit test, refs #4007Thierry Carré
The 'test_fail_if' added previously, must be activated only when we have some interval repetition. Currently, there is many interval in AV, and only one interval in EoC.
2013-06-07cesar/ce/rx: activate intervals by default, closes #2365Cyril Jourdan
2013-06-06cesar/ce/rx: fix assert with interval index, refs #4007Thierry Carré
Fix assert when interval index is wrong, and current interval version is good.
2013-06-06cesar/ce/rx/bl: enable snr collect with interval, refs #4007Thierry Carré
2013-06-06cesar/cp/sta/mgr: release releasable stations, closes #2869Nélio Laranjeiro
The release list can be release by any status in the plug, but only the CCo can move a plug into this list.
2013-06-06cesar/cp/av/sta/mgr: inform the bsu when a CCo is removed, closes #2869Nélio Laranjeiro
The BSU must be informed when a CCo is removed from the station manager.
2013-06-06cesar/bsu: reset the beacon in the avln structure in bsu_avln_init, refs #2869Nélio Laranjeiro
2013-06-06cesar/cp/sta/mgr: remove a duplicated instructionNélio Laranjeiro
2013-06-06cesar/{hal/phy,mac/pbproc}: on SPOC reset, set initial rho_q30 value, closes ↵Yacine Belkadi
#4004 When SPOC_RHO_INITIAL_Q30 is set in the internal.conf file, that value should be the one set on a SPOC reset, not 0. Make pbproc_spoc_reset() use the initial spoc rho q30 value. This also moves the knowledge about the initial SPOC parameters to the phy layer, which seems more appropriate.
2013-06-06cesar/hal/phy/{spoc,}: add phy_compute_spoc_{initial,}_coeff(), refs #4004Yacine Belkadi
Add phy_compute_spoc_initial_coeff() to allow callers to get the initial SPOC coefficients. This function is put in hal/phy because this is where the knowledge about the initial rho_q30 is, as it comes from phy_tunable.spoc_rho_initial_q30. This will be used in next commits. Add phy_compute_spoc_coeff(), just for completeness. Refactoring only. No (intended) functional changes.
2013-06-06cesar/{cp/{av,}/beacon,mac/pbproc}: add pbproc_spoc_reset(), refs #4004Yacine Belkadi
Add a pbproc_spoc_reset() that the cp can use to reset SPOC parameters, without having to know what the reset parameters are. This allows to move the knowledge of reset values to the pbproc, and will help for next commits. Refactoring only. No (intended) functional changes.
2013-06-06cesar/{cp/{av,}/beacon,mac/pbproc}: add/use pbproc_spoc_update(), refs #4004Yacine Belkadi
Add a pbproc_spoc_update() that the cp can use to update SPOC parameters without having to know about implementation details like allocating coefficients, computing them, then setting them. These changes will help for next commits. No (intended) functional changes.
2013-06-06cesar/cp/beacon: don't reset spoc if SPOC_UPDATE_INTERVAL == 0, refs #4004Yacine Belkadi
When SPOC_UPDATE_INTERVAL_MS is set to 0 in the internal.conf file, the cp should not update SPOC.
2013-06-06cesar/cp/av/beacon/test/utest2: add pbproc_stub.cYacine Belkadi
Put pbproc stubs in the new pbproc_stub.c instead of phy_stub.c
2013-06-06cesar/ce/rx/bl: send new default tonemap after computation, closes #4026Cyril Jourdan
2013-06-06cesar/cp/av/sta/action: fix a forgotten unit test, refs #3968Nélio Laranjeiro
The test concerning the simple connect has not been updated.
2013-06-06cesar/cp/av/msg/test/utest: hack_key field is unwritten when key type isn't ↵Thierry Carré
"hash", closes #4008
2013-06-06cesar/cp/av/msg/test/utest: fix valgrind warnings, refs #4008Thierry Carré
Use of uninitialised value of size 4 at 0x807FFC6: crc_compute_continue_block_le (crc.c:252) by 0x806CA84: cp_msg_mme_send (msg.c:1037) by 0x807253E: cp_msg_cm_get_key_req_send (msg_cm.c:423) by 0x804AC91: test_case_cm_get_key (msg_cm.c:328) by 0x8069D2F: main (msg_cm.c:3621)
2013-06-06cesar/cp/av/msg/test/utest: remove warnings on compilation, refs #4008Thierry Carré
Homeplug AV specification (11.5.7): EKS field => EKS or PEKS value depending upon Key Type The enum usage seems in order.
2013-06-06cesar/cp/av/msg/test/utest: remove variables set but not used, refs #4008Thierry Carré
2013-06-06cesar/cp/av/msg/test/utest: fix a memory corruption in utest, refs #4008Thierry Carré
2013-06-04cesar/cp[av]: set CP_TIMER_OFFSET_STA to allow beacon reception, closes #3990Nélio Laranjeiro
When there is not traffic on the medium, our CCo sends the central beacon 10ms after the beginning of the beacon period according with CA_ACCESS_MERGE_MARGIN_TCK margin.
2013-05-24cesar/cp/av/sta/action: compute the TEI renew date, closes #3968Nélio Laranjeiro
HPAV allows the TEI lease to be configurable on a range from 0x0001 to 0xffff (1 minute to approximatively 45days). As we used a renew margin of 5 minutes, we were not able to renew our TEI if the lease time was lesser of equal to 5 minutes, it had for consequence in our product to program the renew event in a far future. Another change in this commit concerns the behavior of the renew when the station is authenticated. To detect a request failure, a timer was programmed with the MARGIN value divided by 2 i.e. 2.5 minutes. From now the request is considered failed after the half of the calculated margin i.e. 15s if the lease was a minute, 30s if the lease was greater than a minute (see cp_av_sta_action_lease_renew function). Note: This bug has been confirmed during the Interoperability certification tests with the Gigle Test Matrix plugs when it acts as a CCo. Gigle's CCo provides a lease of 5 minutes value at the first CC_ASSOC.REQ (i.e. Join) request.
2013-05-24cesar/ce/rx/bl: compute a worst case tonemap when needed, closes #3880Cyril Jourdan
This tonemap will be used as default tonemap when intervals are activated.
2013-05-24cesar/ce/rx/bl: give CE RX context to update_default_tm function, refs #3880Cyril Jourdan
This is needed for the next commits.
2013-05-24cesar/ce/rx/bl: remove useless global variablesCyril Jourdan
A structure has been created for this parameters, this globals should not be used anymore.
2013-05-24cesar/ce/rx/bl: handle interval_sound events in global FSM, closes #3957Cyril Jourdan
The goal is to avoid that sound directed to an interval we can not match are treated by global FSM as sound events, what causes a global CE restart. This can lead to too many CE restarts and to an accumulation of measure in CE's mailbox, which leads to the observed assert.
2013-05-23cp/beacon/av: only request a NEK onceYacine Belkadi
If for some reason the Sta doesn't have the new NEK when a NEK change countdown starts, it asks for it using the CM_GET_KEY MME. But it was asking for it in each beacon period of the countdown where it didn't have the new NEK. It doesn't seem useful to insist that much. If the new NEK is missing on a NEK change, only ask for it once.
2013-05-23cesar/{bsu,cp,mac/pbproc}: change NEK managementYacine Belkadi
Two slots were used to store the NEKs. One for the current NEK, the other for the next NEK. The CP could update any slot at any time, by setting the EKS to MAC_EKS_CLEAR first. One problem is that the pbproc doesn't expect someone to change a key that it is in use. If the cp sets the EKS to MAC_EKS_CLEAR for a key that is in use, may make the pbproc send data unencrypted, which is a problem. Another problem may occur during a NEK change, if the new NEK is not received via the SET_KEY_CNF. In that case, when the countdown starts, the cp sends a GET_KEY_CNF to get the new NEK. When it receives it, it puts the new key in the next slot. To identify the next slot the cp uses bsu_nek_index_next(). This is not reliable around a NEK change: - the cp receives the new NEK - the cp starts setting the new NEK - the cp is suspended - the bsu changes nek_switch - the cp is resumed and calls bsu_nek_index_next() which returns the index of the current NEK instead of the next NEK - the cp writes the new NEK in the current slot instead of the next slot - the pbproc may send packets unencrypted - the NEK change occurs - the new NEK is used in Rx (because the new NEK is in one of the two slots) but not in Tx (because it's not the in the current slot) To fix that, change the way the NEKs are managed: Use pointers and indirection to be able to atomically change a NEK transparently from the pbproc's point of view. Make the cp store the NEKs and set the current NEK, but let the bsu grab the next NEK if it's available.