dma_ip_drivers issueshttps://gitlab.mpcdf.mpg.de/bcar/dma_ip_drivers/-/issues2021-09-21T18:15:57Zhttps://gitlab.mpcdf.mpg.de/bcar/dma_ip_drivers/-/issues/2Remove the use of union for interlock parameters2021-09-21T18:15:57ZNejc Smrkolj KozeljRemove the use of union for interlock parametersAt the moment setting up interlock parameters is done vie union of floats and ints. Such pattern is very dangerous and should not be exposed to higher level logic. A better approach would be to only permit float array as a parameter to l...At the moment setting up interlock parameters is done vie union of floats and ints. Such pattern is very dangerous and should not be exposed to higher level logic. A better approach would be to only permit float array as a parameter to library function which in turn does any necessary conversions to lower levels.https://gitlab.mpcdf.mpg.de/bcar/dma_ip_drivers/-/issues/4Interlock wiring offsets should be floats2021-10-11T13:40:09ZNejc Smrkolj KozeljInterlock wiring offsets should be floatsWhen dealing with interlock wiring offsets values expected in library functions are of type int. Higher level logic deals with floats so the float has to be converted into int via the "Q15.16" format ([Q_(number_format)](https://en.wikip...When dealing with interlock wiring offsets values expected in library functions are of type int. Higher level logic deals with floats so the float has to be converted into int via the "Q15.16" format ([Q_(number_format)](https://en.wikipedia.org/wiki/Q_(number_format))).
If in general floats are used on higher levels then the library should be modified to receive floats and do the conversion within the library itself to reduce the upper level complexity. If this is not possible due to some other limitations or we want to preserve historical setup then this conversion has to be documented in the library function which expects ints.https://gitlab.mpcdf.mpg.de/bcar/dma_ip_drivers/-/issues/7Read timeout should be configurable2021-09-20T09:09:20ZNejc Smrkolj KozeljRead timeout should be configurableAt the moment read timeout is hardcoded somewhere in the FPGA. Is this something that we can expose to the library?At the moment read timeout is hardcoded somewhere in the FPGA. Is this something that we can expose to the library?https://gitlab.mpcdf.mpg.de/bcar/dma_ip_drivers/-/issues/8Add to library for various board values2021-09-29T17:36:50ZNejc Smrkolj KozeljAdd to library for various board valuesLibrary provides an entry point towards the hardware. Due to that it can access registers and through them a detailed board information. Any information that can potentially be useful towards higher levels should be exposed through libra...Library provides an entry point towards the hardware. Due to that it can access registers and through them a detailed board information. Any information that can potentially be useful towards higher levels should be exposed through library functions. This should also span the configuration we do on the board such as is device open, is 32 bit acquisition selected, are interlocks configured, etc.