/*                                                                          */
/* File Name   : mbdr_dsp_debug_probs.h                                     */
/*                                                                          */
/* Written By  : 79556                                                      */
/*                                                                          */
/* versions    :                                                            */
/*+--------+-----------+---------------------------------------------------+*/
/*| Version| Date      | Change content                                    |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.9.07 |25/Nov/2007|- rename frme prob by event prob                   |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.01.14|14/Jan/2008|- mbdr_dsp_division                                |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.01.15|15/Jan/2008|- mbdr_dsp_power                                   |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.01.15| 7/Jan/2009|- IFOffsetFromStartAdr                             |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.01.63| 9/Feb/2009|-  mbdr_dsp_write_probs[0].dynamic_trace           |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.01.70|15/Mrs/2009|- get_if_buffer                                    |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.01.98|15/Jul/2009|- disable_get                                      |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.02.00|22/Jul/2009|- probs: used_f, mbdr_dsp_cpu_common_interface_t   |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.02.08|16/Sep/2009|- mbdr_dsp_write_probs.extra_if_process_ack        |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.02.55|10/Aug/2010|- mbdr_dsp_write_probs_t.rtc_status                |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.02.64|18/Jan/2011|- rename mbdr_dsp_write_probs_t.get_simple         |*/
/*|        |           |      to mbdr_dsp_write_probs_t.get_command        |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.02.65|24/Jan/2011|- CW separation by HW                              |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.02.69|07/Mrs/2011|- mbdr_dsp_write_probs_t                           |*/
/*|        |           |                    .monitor_report_params_tbl     |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.02.85|12/Sep/2011|- mbdr_dsp_write_probs_t.record_missions_tbl       |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.02.94|20/Dec/2011|- replace programmer name by code                  |*/
/*+--------+-----------+---------------------------------------------------+*/
/*|        |           |- rename debug prob:                               |*/
/*|        |           |      mbdr_dsp_write_probs_t.histogram_filter_data |*/
/*|        |           |  by  mbdr_dsp_write_probs_t.no                    |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.03.14|11/Oct/2012|- 128 read/write probs                             |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.03.19|18/Nov/2012|- mbdr_dsp_write_probs_t.if_frequency              |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.03.19|18/Nov/2012|- mbdr_dsp_write_probs_t.if_frequency              |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.03.22|03/Dec/2012|- add port for probe named "set_hw_hist_cmd"       |*/ 
/*+--------+-----------+---------------------------------------------------+*/
/*| 0.03.25|09/Jan/2013|- add read and write probes for HPRF msn           |*/
/*+--------+-----------+---------------------------------------------------+*/
/*| 	   |05/Jan/2014|- mbdr_dsp_write_probs_t.trigger                   |*/
/*+--------+-----------+---------------------------------------------------+*/
/*|        |           |- mbdr_dsp_write_probs_t.sdpu_fpga_mbdr_image      |*/
/*+--------+-----------+---------------------------------------------------+*/
/*                                                                          */
/* Function    : define simulator probs                                     */
/*                                                                          */
#include  "windef.h"
#ifndef _MBDR_DSP_DEBUG_PROBS_H
#define _MBDR_DSP_DEBUG_PROBS_H

/* for each new required port a new field is added,  */
/* these method consumes a little debug memory, but facilitate maintenance */
typedef struct
{
 /* 0 */ volatile LONG  header;
 /* 1 */ volatile LONG  spot;
 /* 2 */ volatile LONG  mission_number;
 /* 3 */ volatile LONG  event;
 /* 4 */ volatile LONG  fir_result;
 /* 5 */ volatile LONG  fir_header;
 /* 6 */ volatile LONG  fir_vec_size;
 /* 7 */ volatile LONG  vector_size;
 /* 8 */ volatile LONG  test_angle_input_vec_packed;
 /* 9 */ volatile LONG  test_log2_input_vec;
 /*10 */ volatile LONG  test_PhaseCorAfterFirAndDec_input_vec_packed;
 /*11 */ volatile LONG  mission_mode;
 /*12 */ volatile LONG  numerator;
 /*13 */ volatile LONG  denominator;
 /*14 */ volatile LONG  exponent;
 /*15 */ volatile LONG  log2_of_a;
 /*16 */ volatile LONG  input_16;
 /*17 */ volatile LONG  input_32;
 /*18 */ volatile LONG  overwrite_table_f;
 /*19 */ volatile LONG  calibration;
 /*20 */ volatile LONG  vec_a;
 /*21 */ volatile LONG  vec_b;
 /*22 */ volatile LONG  get_fault_mbdr;
 /*23 */ volatile LONG  get_fault_drfm;
 /*24 */ volatile LONG  IFOffsetFromStartAdr;
 /*25 */ volatile LONG  multi_missions;
 /*26 */ volatile LONG  if_buffer_dw_size;
 /*27 */ volatile LONG  if_buffer;
 /*28 */ volatile LONG  disable_get;
 /*29 */ volatile LONG  extra_if_process_fill_ack_size;
 /*30 */ volatile LONG  cw_result;
 /*31 */ volatile LONG  cw_header;
 /*32 */ volatile LONG  read_hprf_spot;
 /*33 */ volatile LONG  read_hprf_firanddec_samples;
 /*34 */ volatile LONG  multi_mission_window_program;
 /*35 */ volatile LONG  dummy;
 /*36 */ volatile LONG  expected_cycles_info;
 /*37 */ volatile LONG  exception_simulation_flags;
 /*38 */ volatile LONG  emids;
 /*39 */ volatile LONG  spare[128-39];  /* 39..127 */
}mbdr_dsp_read_probs_t;
extern mbdr_dsp_read_probs_t mbdr_dsp_read_probs[1];

typedef struct
{
  volatile LONG  cpu_pdbuf;                           /* 0 */
  volatile LONG  cpu_end_of_mission;                  /* 1 */
  volatile LONG  record_close_window;                 /* 2 */
  volatile LONG  record_dyn_offset;                   /* 3 */
  volatile LONG  mbdr_fpga_dsp_image;                 /* 4 */
  volatile LONG  buffer_traits_and_setting;           /* 5 */
  volatile LONG  test_mdft_pdbuf_after_mdft;          /* 6 */
  volatile LONG  test_mdft_decision;                  /* 7 */
  volatile LONG  test_mdft_control_reply;             /* 8 */
  volatile LONG  raw_spot_to_mbdr_spot;               /* 9 */
  volatile LONG  fine_meas_desc;                      /*10 */
  volatile LONG  test_angle_angle_out;                /*11 */
  volatile LONG  test_angle_angle_diff;               /*12 */
  volatile LONG  test_cyclic_buffer_queue_status;     /*13 */
  volatile LONG  test_cyclic_buffer_read_data;        /*14 */
  volatile LONG  test_cyclic_buffer_memcpy_code;      /*15 */
  volatile LONG  match_backlog_process_time;          /*16 */
  volatile LONG  test_PhaseCorAfterFirAndDec_output_vec_packed;/*17 */
  volatile LONG  common_status;                       /*18 */
  volatile LONG  dsp_life_sign_echo;                  /*19 */
  volatile LONG  sync_msg_offsset;                    /*20 */
  volatile LONG  monitor_write_index;                 /*21 */
  volatile LONG  monitor_buffer;                      /*22 */
  volatile LONG  n0;                                  /*23 */
  volatile LONG  histogram_filter_output_vec_status;  /*24 */
  volatile LONG  histogram_filter_data;               /*25 */
  volatile LONG  run_indication;                      /*26 */
  volatile LONG  drfm_fpga_mbdr_image;                /*27 */
  volatile LONG  tracker_pdbuf;                       /*28 */
  volatile LONG  fir_and_dec_command;                 /*29 */
  volatile LONG  exception;                           /*30 */
  volatile LONG  frequency;                           /*31 */
  volatile LONG  re_synchronization_ack;              /*32 */
  volatile LONG  quotient;                            /*33 */
  volatile LONG  power;                               /*34 */
  volatile LONG  general;                             /*35 */
  volatile LONG  low_16;                              /*36 */
  volatile LONG  high_16;                             /*37 */
  volatile LONG  output_16;                           /*38 */
  volatile LONG  output_32;                           /*39 */
  volatile LONG  low_32;                              /*40 */
  volatile LONG  high_32;                             /*41 */
  volatile LONG  clear_bit_field;                     /*42 */
  volatile LONG  set_bit_field;                       /*43 */
  volatile LONG  get_lsb_set_bit_index;               /*44 */
  volatile LONG  set_th_per_bin_in_fine_meas_units;   /*45 */
  volatile LONG  cyclic_buffer_hdr;                   /*46 */
  volatile LONG  dynamic_trace;                       /*47 */
  volatile LONG  system_cyclic_queues_status;         /*48 */
  volatile LONG  cal_type_0;                          /*49 */
  volatile LONG  calibration_buf;                     /*50 */
  volatile LONG  get_if;                              /*51 */
  volatile LONG  clear_used_f;                        /*52 */
  volatile LONG  mbdr_dsp_cpu_common;                 /*53 */
  volatile LONG  extra_if_cyclic_queues_status;       /*54 */
  volatile LONG  extra_if_end_work_msg_memory;        /*55 */
  volatile LONG  tracker_fpga_image;                  /*56 */
  volatile LONG  rtc_partial_status;                  /*57 */
  volatile LONG  rtc_full_status;                     /*58 */
  volatile LONG  get_command;                         /*59 */
  volatile LONG  monitor_report_params_tbl;           /*60 */
  volatile LONG  trace_sw_module_code;                /*61 */
  volatile LONG  pls_nrw_pw_deg_work_tbl_p;           /*62 */
  volatile LONG  record_missions_tbl;                 /*63 */
  volatile LONG  tracker_pdbuf_1;                     /*64 */
  volatile LONG  fpga_parameters;                     /*65 */
  volatile LONG  if_frequency;                        /*66 */
  volatile LONG  set_hw_hist_cmd;                     /*67 */
  volatile LONG  hprf_msn_spot_handler_data;          /*68 */
  volatile LONG  hprf_msn_log_transition_data;        /*69 */
  volatile LONG  hprf_msn_transition_data_hdr;        /*70 */
  volatile LONG  hprf_work_plan;        			  /*71 */
  volatile LONG  hprf_set_hw_hist_cmd;     			  /*72 */
  volatile LONG  offset_correction_0;     			  /*73 */
  volatile LONG  dummy;     			              /*74 */
  volatile LONG  measure_cycles_info;                 /*75 */
  volatile LONG  measure_cycles_info_success_f;       /*76 */
  volatile LONG  record_end;                          /*77 */
  volatile LONG  record_header;                       /*78 */
  volatile LONG  record_trace_sw_module;              /*79 */
  volatile LONG  time_out_dsp_cycles;                 /*80 */
  volatile LONG  eq_p4pulse_index;                    /*81 */
  volatile LONG  trigger;                             /*82 */
  volatile LONG  sdpu_fpga_image;                /*83 */
  volatile LONG  eeprom_read_write;                   /*84 */
  volatile LONG  spare[128-85];                       /*85-127 */
}mbdr_dsp_write_probs_t;


/* write ports allocation */
extern mbdr_dsp_write_probs_t mbdr_dsp_write_probs[1];

/* clean read ports utility */
extern void mbdr_dsp_debug_clean_read_probs_tbl(void);


/* consists information about input vector size */
typedef struct
{
 LONG header;
 LONG result;
}mbdr_dsp_debug_fir_and_dec_vectors_dw_size_info_t;
extern mbdr_dsp_debug_fir_and_dec_vectors_dw_size_info_t
                   mbdr_dsp_debug_fir_and_dec_vectors_dw_size_info;


#endif
