Subversion Repositories f9daq

Rev

Blame | Last modification | View Log | RSS feed

/*
 * data_handling.h
 *
 *  Created on: 18. dec. 2018
 *      Author: Domen
 */


#ifndef SRC_DATA_HANDLING_H_
#define SRC_DATA_HANDLING_H_


#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <fcntl.h>
#include <math.h>
//#include <sys/mman.h>






#define HW_address      0x40500000
#define MAP_SIZE        4096UL //size of a /dev/mem file, potrebujem, ko pri funkciji mmap
#define MAP_MASK        (MAP_SIZE - 1)


#define BIN_NUM                                 1024
#define UC_rd_en_final_mask             0x00000001
#define UC_rd_en_current_mask   0x00000002
#define HIST_MASK                               0xFFFFFF00






typedef struct
{
        /* ****** PC --> procesor --> FPGA ****** */
        uint32_t start; // zastavica za zagon sistema
        uint32_t reset; // zastavica za ponastavitev sistema
        uint32_t HW_config_flag; // zahteva za nastavitev parametrov FPGA vezja
        uint32_t send_data_flag; // zahteva za posiljanje podatkov v PC
        uint32_t disconnect_flag; // zahteva za prekinitev povezave procesor - PC
        uint32_t threshold; // pragovna vrednost za komponento ADC_unit
        uint32_t acq_window; //casovno okno zajemanja za komponento ADC_unit
        uint32_t sw_trigger; // pragovna vrednost za prozenje integratorja

        /* ****** FPGA --> procesor --> PC ****** */
        uint32_t hist_data; // stolpec histograma
        uint32_t UC_rd_en_current; // sprotni histogram
        uint32_t UC_rd_en_final; // koncni histogram

} HW_system;



//PUBLIC FUNCTION PROTOTYPES
uint32_t *HW_init(void);
uint8_t HW_comm( HW_system *strct, uint32_t *reg_addr);














#endif /* SRC_DATA_HANDLING_H_ */