Subversion Repositories f9daq

Rev

Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * data_handling.h
  3.  *
  4.  *  Created on: 18. dec. 2018
  5.  *      Author: Domen
  6.  */
  7.  
  8. #ifndef SRC_DATA_HANDLING_H_
  9. #define SRC_DATA_HANDLING_H_
  10.  
  11.  
  12. #include <stdio.h>
  13. #include <stdlib.h>
  14. #include <stdint.h>
  15. #include <string.h>
  16. #include <fcntl.h>
  17. #include <math.h>
  18. //#include <sys/mman.h>
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25. #define HW_address      0x40500000
  26. #define MAP_SIZE        4096UL //size of a /dev/mem file, potrebujem, ko pri funkciji mmap
  27. #define MAP_MASK        (MAP_SIZE - 1)
  28.  
  29.  
  30. #define BIN_NUM                                 1024
  31. #define UC_rd_en_final_mask             0x00000001
  32. #define UC_rd_en_current_mask   0x00000002
  33. #define HIST_MASK                               0xFFFFFF00
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40. typedef struct
  41. {
  42.         /* ****** PC --> procesor --> FPGA ****** */
  43.         uint32_t start; // zastavica za zagon sistema
  44.         uint32_t reset; // zastavica za ponastavitev sistema
  45.         uint32_t HW_config_flag; // zahteva za nastavitev parametrov FPGA vezja
  46.         uint32_t send_data_flag; // zahteva za posiljanje podatkov v PC
  47.         uint32_t disconnect_flag; // zahteva za prekinitev povezave procesor - PC
  48.         uint32_t threshold; // pragovna vrednost za komponento ADC_unit
  49.         uint32_t acq_window; //casovno okno zajemanja za komponento ADC_unit
  50.         uint32_t sw_trigger; // pragovna vrednost za prozenje integratorja
  51.  
  52.         /* ****** FPGA --> procesor --> PC ****** */
  53.         uint32_t hist_data; // stolpec histograma
  54.         uint32_t UC_rd_en_current; // sprotni histogram
  55.         uint32_t UC_rd_en_final; // koncni histogram
  56.  
  57. } HW_system;
  58.  
  59.  
  60.  
  61. //PUBLIC FUNCTION PROTOTYPES
  62. uint32_t *HW_init(void);
  63. uint8_t HW_comm( HW_system *strct, uint32_t *reg_addr);
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78. #endif /* SRC_DATA_HANDLING_H_ */
  79.