##// END OF EJS Templates
Few cosmetic changes and lowered optim to -O2...
Few cosmetic changes and lowered optim to -O2 - Raised CMake minimum version to 3.6 everywhere - Add option to either explictly call gcov_exit or register it on exit - Raised FSW patch level to 22

File last commit:

r390:1c936ff95146 No PWD scrub with...
r400:9d5e16586c2c 3.2.0.22 R3++
Show More
fsw_globals.c
119 lines | 5.8 KiB | text/x-c | CLexer
Added GPL header and documented some more functions
r390 /*------------------------------------------------------------------------------
-- Solar Orbiter's Low Frequency Receiver Flight Software (LFR FSW),
-- This file is a part of the LFR FSW
-- Copyright (C) 2012-2018, Plasma Physics Laboratory - CNRS
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-------------------------------------------------------------------------------*/
/*-- Author : Paul Leroy
-- Contact : Alexis Jeandet
-- Mail : alexis.jeandet@lpp.polytechnique.fr
----------------------------------------------------------------------------*/
paul
Minor changes in .h inclusion
r45 /** Global variables of the LFR flight software.
*
* @file
* @author P. LEROY
*
* Among global variables, there are:
* - RTEMS names and id.
* - APB configuration registers.
* - waveforms global buffers, used by the waveform picker hardware module to store data.
* - spectral matrices buffesr, used by the hardware module to store data.
* - variable related to LFR modes parameters.
* - the global HK packet buffer.
* - the global dump parameter buffer.
*
*/
admin@pc-p-leroy3.LAB-LPP.LOCAL
Beginning of the message queue implementation for the actions handler
r8 #include <rtems.h>
paul@pc-solar1.lab-lpp.local
All modes implemented for the waveforms...
r23 #include <grspw.h>
paul
Minor changes in .h inclusion
r45
paul
Header files inclusion reworked...
r40 #include "ccsds_types.h"
#include "grlib_regs.h"
#include "fsw_params.h"
paul
waveform buffers declaration modified...
r131 #include "fsw_params_wf_handler.h"
admin@pc-p-leroy3.LAB-LPP.LOCAL
Beginning of the message queue implementation for the actions handler
r8
Removed all remaining unused macros and fixed bug...
r385
paul
Many corrections, mainly related to #807 Don_Enumeration
r318 #define NB_OF_MISC_NAMES 5
admin@pc-p-leroy3.LAB-LPP.LOCAL
Beginning of the message queue implementation for the actions handler
r8 // RTEMS GLOBAL VARIABLES
paul
Bug #796 Don_Initialisation_P1
r321 rtems_name misc_name[NB_OF_MISC_NAMES] = {0};
Removed all remaining unused macros and fixed bug...
r385 rtems_name Task_name[CONFIGURE_MAXIMUM_TASKS-1] = {0}; /* array of task names */
rtems_id Task_id[CONFIGURE_MAXIMUM_TASKS-1] = {0}; /* array of task ids */
paul
Minor bugs corrected before logiscope analysis
r322 rtems_name timecode_timer_name = 0;
rtems_id timecode_timer_id = RTEMS_ID_NONE;
rtems_name name_hk_rate_monotonic = 0; // name of the HK rate monotonic
rtems_id HK_id = RTEMS_ID_NONE;// id of the HK rate monotonic period
rtems_name name_avgv_rate_monotonic = 0; // name of the AVGV rate monotonic
rtems_id AVGV_id = RTEMS_ID_NONE;// id of the AVGV rate monotonic period
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18 int fdSPW = 0;
int fdUART = 0;
paul
Bug #796 Don_Initialisation_P1
r321 unsigned char lfrCurrentMode = 0;
unsigned char pa_bia_status_info = 0;
paul
ASM restart sequence updated at the interrupt service routine level...
r259 unsigned char thisIsAnASMRestart = 0;
paul
3.0.0.19...
r271 unsigned char oneTcLfrUpdateTimeReceived = 0;
paul@pc-solar1.lab-lpp.local
Updates of the ICD taken into account...
r18
paul
SM simulator functionnal...
r100 // WAVEFORMS GLOBAL VARIABLES // 2048 * 3 * 4 + 2 * 4 = 24576 + 8 bytes = 24584
// 97 * 256 = 24832 => delta = 248 bytes = 62 words
// WAVEFORMS GLOBAL VARIABLES // 2688 * 3 * 4 + 2 * 4 = 32256 + 8 bytes = 32264
// 127 * 256 = 32512 => delta = 248 bytes = 62 words
paul
waveform buffers declaration modified...
r131 // F0 F1 F2 F3
paul
Bug #796 Don_Initialisation_P1
r321 volatile int wf_buffer_f0[ NB_RING_NODES_F0 * WFRM_BUFFER ] __attribute__((aligned(0x100))) = {0};
volatile int wf_buffer_f1[ NB_RING_NODES_F1 * WFRM_BUFFER ] __attribute__((aligned(0x100))) = {0};
volatile int wf_buffer_f2[ NB_RING_NODES_F2 * WFRM_BUFFER ] __attribute__((aligned(0x100))) = {0};
volatile int wf_buffer_f3[ NB_RING_NODES_F3 * WFRM_BUFFER ] __attribute__((aligned(0x100))) = {0};
paul@pc-solar1.lab-lpp.local
Naming convention changed...
r5
paul
Sync...
r117 //***********************************
paul@pc-solar1.lab-lpp.local
Naming convention changed...
r5 // SPECTRAL MATRICES GLOBAL VARIABLES
paul
Sync...
r117
paul
snapshots extraction fully functionnal in SBM1 and SBM2
r106 // alignment constraints for the spectral matrices buffers => the first data after the time (8 bytes) shall be aligned on 0x00
paul
Bug #796 Don_Initialisation_P1
r321 volatile int sm_f0[ NB_RING_NODES_SM_F0 * TOTAL_SIZE_SM ] __attribute__((aligned(0x100))) = {0};
volatile int sm_f1[ NB_RING_NODES_SM_F1 * TOTAL_SIZE_SM ] __attribute__((aligned(0x100))) = {0};
volatile int sm_f2[ NB_RING_NODES_SM_F2 * TOTAL_SIZE_SM ] __attribute__((aligned(0x100))) = {0};
paul@pc-solar1.lab-lpp.local
Naming convention changed...
r5
paul
First version of the rings for the waveform picker.
r87 // APB CONFIGURATION REGISTERS
paul
timegen version 0.0.0.1
r170 time_management_regs_t *time_management_regs = (time_management_regs_t*) REGS_ADDR_TIME_MANAGEMENT;
gptimer_regs_t *gptimer_regs = (gptimer_regs_t *) REGS_ADDR_GPTIMER;
waveform_picker_regs_0_1_18_t *waveform_picker_regs = (waveform_picker_regs_0_1_18_t*) REGS_ADDR_WAVEFORM_PICKER;
spectral_matrix_regs_t *spectral_matrix_regs = (spectral_matrix_regs_t*) REGS_ADDR_SPECTRAL_MATRIX;
paul
First version of the rings for the waveform picker.
r87
paul@pc-solar1.lab-lpp.local
Several TC actions added...
r11 // MODE PARAMETERS
paul
Bug #796 Don_Initialisation_P1
r321 Packet_TM_LFR_PARAMETER_DUMP_t parameter_dump_packet = {0};
struct param_local_str param_local = {0};
unsigned int lastValidEnterModeTime = {0};
admin@pc-p-leroy3.LAB-LPP.LOCAL
Draft implementation of the TC_LFR_LOAD_NORMAL_PAR
r10
paul@pc-solar1.lab-lpp.local
fsw-0-2 delivery to LESIA...
r16 // HK PACKETS
paul
Bug #796 Don_Initialisation_P1
r321 Packet_TM_LFR_HK_t housekeeping_packet = {0};
paul
fifo occupation reported in the HK packet
r197 // message queues occupancy
paul
Bug #796 Don_Initialisation_P1
r321 unsigned char hk_lfr_q_sd_fifo_size_max = 0;
unsigned char hk_lfr_q_rv_fifo_size_max = 0;
unsigned char hk_lfr_q_p0_fifo_size_max = 0;
unsigned char hk_lfr_q_p1_fifo_size_max = 0;
unsigned char hk_lfr_q_p2_fifo_size_max = 0;
paul@pc-solar1.lab-lpp.local
All modes implemented for the waveforms...
r23 // sequence counters are incremented by APID (PID + CAT) and destination ID
paul
AVGV modified...
r352 unsigned short sequenceCounters_SCIENCE_NORMAL_BURST __attribute__((aligned(0x4))) = 0;
unsigned short sequenceCounters_SCIENCE_SBM1_SBM2 __attribute__((aligned(0x4))) = 0;
unsigned short sequenceCounters_TC_EXE[SEQ_CNT_NB_DEST_ID] __attribute__((aligned(0x4))) = {0};
unsigned short sequenceCounters_TM_DUMP[SEQ_CNT_NB_DEST_ID] __attribute__((aligned(0x4))) = {0};
unsigned short sequenceCounterHK __attribute__((aligned(0x4))) = {0};
spw_stats grspw_stats __attribute__((aligned(0x4))) = {0};
paul
ICD 4.1 taken into account
r283
// TC_LFR_UPDATE_INFO
paul
compliance with ICD 4.3...
r328 rw_f_t rw_f;
paul
3.1.0.2...
r293
// TC_LFR_LOAD_FILTER_PAR
paul
Bug #796 Don_Initialisation_P1
r321 filterPar_t filterPar = {0};
paul
reaction wheels filtering implemented
r286
paul
Bug #796 Don_Initialisation_P1
r321 fbins_masks_t fbins_masks = {0};