/****************************************************************************** * Copyright * * Scintillating Fibre Beam Profile Monitor Software by Michal Dziewiecki, * * Blake Leverington and Liqing Qin is licensed under CC BY 4.0 * * https://creativecommons.org/licenses/by/4.0/ * * funded by the Deutsche Forschungsgemeinschaft * * (DFG, German Research Foundation) Projektnummer 419255448 * * Project Leader: B.Leverington * ******************************************************************************* * Create Date - Jul 31, 2019 * * Author: M.Dziewiecki * * Module - utils.h * ******************************************************************************/ //Various utils for various purposes //Mainly wrappers on hardware #ifndef UTILS_H_ #define UTILS_H_ //Swap opdd/even bytes in a bunch of data to align endianness of shorts void swap_bytes(unsigned char* array, int size_bytes); void swap_quad(unsigned char* array, int size_bytes); void reload_fpga(); //trigger FPGA reload #define TRIGGER_MASTER 1 #define TRIGGER_SLAVE 0 void masterslave(alt_u8 master); //set trigger system to master or slave operation void master_clock_period(alt_u32 period); //set period of the master frame timer void master_clock_enable(alt_u8 en); //enable/disable pulse generation void led_set(alt_u8 led_nr); void led_clear(alt_u8 led_nr); void led_toggle(alt_u8 led_nr); void led4_blink_enable(alt_u8 en); void set_delay(alt_u8 master, alt_u16 value); #endif /* UTILS_H_ */