collapse

* Who's Online

  • Dot Guests: 9
  • Dot Hidden: 0
  • Dot Users: 1
  • Dot Users Online:

* Recent Topics/Posts

Albert's F-16 Block 52 pit by AlbertJ
[Today at 11:38:56 AM]


Pence's Pit by Moon
[Today at 06:37:40 AM]


Faan's pit by mrwell
[June 17, 2018, 06:31:00 AM]


Warbirdguy1's Not-So-Simple Pit by sagrzmnky
[June 17, 2018, 04:12:46 AM]


Popeye's pit by popeye66
[June 15, 2018, 06:00:09 PM]


bms and Saitek - Flight Instrument Panel by Rufus
[June 09, 2018, 03:40:29 PM]


DCS F-16 announcement by Snowman
[June 09, 2018, 02:57:04 PM]


ACES II PARECHUTE CONTAINER (NEW/OLD MODEL) by Kukki
[June 03, 2018, 07:18:06 AM]


Marvin's 2nd Cockpit Project (HAF Block 52+ PXIII) by Rufus
[June 02, 2018, 05:58:31 PM]


MailMan Selling Part of Pit because of room constraints by Sparrow 23
[June 02, 2018, 01:44:14 AM]


mcfrag0815's IKEA IVAR-Pit Project by mcfrag0815
[June 01, 2018, 05:50:50 PM]


Salaxi54's pit progress by mike-simulation
[June 01, 2018, 06:42:16 AM]

Author Topic: KK's Pit  (Read 500955 times)

Offline KK

  • General
  • ******
  • Join Date: Aug 2005
  • Location: Davos
  • Posts: 1358
  • Country: ch
  • VP Awards : Old Geezer Award: Awarded after 10 years of community service : Top Poster Award: for those 30 members with most posts : 1000+ posts Award: Awarded for achieving over 1000 posts : Outstanding Build Award: Awarded for an outstanding pit build
    • Awards
Re: KK's Pit
« Reply #960 on: March 12, 2018, 06:03:02 AM »
This little video means so much to me.
It is the result of countless hours googling forums with lots of trial and error.

Now I'm allowed to make a statement about Analog Devices.
With their evaluation Board AD5360/5370 they have done a good job
providing people with a really low cost Digital/Analog Output board
but they have done a really lousy job on the software side of things.
If you want to use their functions provided in the enclosed .DLL file,
for programming a solution in C/C++ you find yourself being left
alone on the planet. There is a nice guy answering questions in the AD forum
but he has got no idea what he is talking about as he has absolutely no experience.

https://www.youtube.com/watch?v=WZik3_WP1uI&feature=youtu.be

So long story short. The AD boards works fine and I have the door wide open now
to program my instruments.
Stay tuned ... more to come.
Regards
Klaus

Offline Marvin

  • General
  • ******
  • Join Date: Dec 2016
  • Location: Saskatoon, SK, Canada
  • Posts: 556
  • Country: ca
  • Back at again after 10 years!
    • Agoge Tactical Regimen
    • Awards
Re: KK's Pit
« Reply #961 on: March 12, 2018, 11:13:26 AM »
Great video!  Very inspirational!
" Where's the KABOOM! "

Windows 8.1 64 bit, Intel Core i7 - 5820K CPU (3.30GHz 6-cores, 15MB Cache, Overclocked up to 3.8 GHz w/ Turbo Boost), 32.0 GB Quad Channel DDR4 at 2133MHz, 128GB SSD 6Gb/s Main + 2TB 72

Offline lightning

  • -=VP Donor=-
  • General
  • *
  • Join Date: Mar 2007
  • Location:
  • Posts: 2149
  • Country: 00
  • VP Awards : Old Geezer Award: Awarded after 10 years of community service : Software Guru Award: Awarded to those with special software skills : Top Poster Award: for those 30 members with most posts : Most Time Online Award: Awarded to those 30 members with most time on the forum : 2000+ posts Award: Awarded for achieving over 2000 posts
    • Lightning's Tools
    • Awards
Re: KK's Pit
« Reply #962 on: March 12, 2018, 03:21:41 PM »
Now I'm allowed to make a statement about Analog Devices.
With their evaluation Board AD5360/5370 they have done a good job
providing people with a really low cost Digital/Analog Output board
but they have done a really lousy job on the software side of things.
If you want to use their functions provided in the enclosed .DLL file,
for programming a solution in C/C++ you find yourself being left
alone on the planet. There is a nice guy answering questions in the AD forum
but he has got no idea what he is talking about as he has absolutely no experience.

So long story short. The AD boards works fine and I have the door wide open now
to program my instruments.

KK, Anything you want to know about the AD536x/AD537x boards, I can tell you.  I've worked with these for at least 10 years and did all the reverse engineering work and hardcore testing work already, and have had this published online as open source for the entire time. 

https://github.com/lightningviper/lightningstools/tree/master/src/AnalogDevices

has everything you need in there for either reference purposes or production purposes (it's all in C#, but easily ported to C/C++ or I can easily add COM-callable wrappers if you prefer not to write your own implementation...)

The main class is DenseDacEvalBoard.
https://github.com/lightningviper/lightningstools/blob/master/src/AnalogDevices/DenseDacEvalBoard.cs

The basic DenseDacEvalBoard class provides a unified interface to the various device-level commands available in the AD536x/AD537x boards. 

It does not expose commands for setting a 3rd Offset register or for setting/reading back the GPIO pins for the subset of AD boards that have this functionality, but these are trivial to add if you are using an AD board that has them.

The main DenseDacEvalBoard class implements an interface, IDenseDacEvalBoard, which nearly covers the complete set of functionality of the boards except as noted above. 
https://github.com/lightningviper/lightningstools/blob/master/src/AnalogDevices/IDenseDacEvalBoard.cs

Each individual command is implemented (and unit tested) as a separate class and interface, and these are composed together via dependency injection into the main class at runtime. 

Code for each of the set of available commands is available at:
https://github.com/lightningviper/lightningstools/tree/master/src/AnalogDevices/DeviceCommands

There are also extensive unit tests at:
https://github.com/lightningviper/lightningstools/tree/master/src/AnalogDevices/UnitTests/DeviceCommands

As well as integration tests:
https://github.com/lightningviper/lightningstools/blob/master/src/AnalogDevices/UnitTests/DenseDacEvalBoardIntegrationTests.cs

And of course, end-to-end tests (which require the board to be hooked up to run)
https://github.com/lightningviper/lightningstools/blob/master/src/AnalogDevices/UnitTests/DenseDacEvalBoardEndToEndTests.cs

None of the above functionality relies on the Cypress USB driver - everything is done through LibUSBdotNet (using LibUsb) or WinUSB.NET (using WinUSB) (both implementations are provided).  This means you will not be dependent on CyUSB compatibility (or lack thereof) with various versions of Windows now or into the future.

I'll also send you the code archive from AD which has their firmware (quite messy & sloppy code) and their (VB6!) test tool code in it.  I'd recommend looking at my source instead of their VB6 code for a  correct  and time-proven implementation of any command.

Offline Willy

  • -=VP Veteran Donor=-
  • General
  • *
  • Join Date: Apr 2005
  • Location: Richardson, TX
  • Posts: 1249
  • Country: us
  • VP Awards : 1000+ posts Award: Awarded for achieving over 1000 posts : Top Poster Award: for those 30 members with most posts : Bronze Medal Award: Awarded for special contributions to the community : Old Geezer Award: Awarded after 10 years of community service : Silver Cup Award: Awarded to someone for a special achievement
    • http://www.employees.org/~bwilliam
    • Awards
Re: KK's Pit
« Reply #963 on: March 13, 2018, 02:25:32 PM »
@lightning,

Good stuff!!  I figured you code repository would be a good place for KK to start since I knew you had wrestled with this tiger before.  Having said that, I'm curious about how your code handles the non-linearity of the gauge faces.  I assume you have some code for that.  In my opinion, all interface software that is used to drive "steam gauges" should provide a calibration function that builds a correction table to account for the non-linearity of the dial faces.  I don't think any of them are 100% linear across their entire dial.  Because they are non-linear, you have to have some sort of calibration table to deal with this. 

I love the AIC software written by Falcas that has a calibration function that has you step through the entire range and provide actual gauge readings to automatically build the calibration table.  I think F4toPokeys has something similar for Pololu Maestro Servo driven gauges.  However, since there isn't a User's Manual for F4toPokeys and I don't have any Pololu hardware I can't tell how this is accomplished without surfing the C# code.  Could you take a second and describe where in your code you handle this and how? (XML Correction Table, hard coded math per specific gauge?).

At some point, I'd like to see if we can drive Aircores with the Analog Devices A/D board.  I just don't recall if we can treat them like a SimTek instrument and provide them with +10V to -10V Sin and Cosine signals.  Their spec sheet doesn't seem to give max values for Vss and their example uses 0-10VDC as an example.  However, I'll bet if we have to go with 0 to +10V, we can account for that in the software that drives the A/D board. 

I'll be interested in your thoughts on driving Aircores with the A/D board.
Beau "Willy" Williamson

I better go find my monkey!

Offline KK

  • General
  • ******
  • Join Date: Aug 2005
  • Location: Davos
  • Posts: 1358
  • Country: ch
  • VP Awards : Old Geezer Award: Awarded after 10 years of community service : Top Poster Award: for those 30 members with most posts : 1000+ posts Award: Awarded for achieving over 1000 posts : Outstanding Build Award: Awarded for an outstanding pit build
    • Awards
Re: KK's Pit
« Reply #964 on: March 13, 2018, 06:16:43 PM »
@lightning
Thanks a lot for all your contribution and help on this topic.
Got a quick look on the firmware and boy they use the 8051 CPU core.
The code is C51 and needs to be compiled with Keil-C51.
In my young years at Siemens I did a lot of work with 8051 but mostly
in assembly language ASM51. So maybe there is some knowledge left.
I will have a look at your C# code to see how you tweaked one or the other
problem.

@Willy
Quote
you have to have some sort of calibration table to deal with this. 
I do it the easy way with a lookup table. I have exactly measured all voltages for
every mark on the dial. As the AD board can set a voltage for 3 decimals it should be easy doable
to issue these voltages. In between values are interpolated.
Here is my table. f stands for float.

#define FTIT_200   1.470f
#define FTIT_250   1.979f
#define FTIT_300   2.426f
#define FTIT_350   2.866f
#define FTIT_400   3.300f
#define FTIT_450   3.756f
#define FTIT_500   4.198f
#define FTIT_550   4.635f
#define FTIT_600   5.087f
#define FTIT_650   5.513f
#define FTIT_700   5.944f
#define FTIT_710   6.028f
#define FTIT_720   6.124f
#define FTIT_730   6.208f
#define FTIT_740   6.286f
#define FTIT_750   6.379f
#define FTIT_760   6.443f
#define FTIT_770   6.531f
#define FTIT_780   6.614f
#define FTIT_790   6.705f
#define FTIT_800   6.792f
#define FTIT_810   6.878f
#define FTIT_820   6.953f
#define FTIT_830   7.036f
#define FTIT_840   7.113f
#define FTIT_850   7.196f
#define FTIT_860   7.271f
#define FTIT_870   7.356f
#define FTIT_880   7.441f
#define FTIT_890   7.526f
#define FTIT_900   7.609f
#define FTIT_910   7.692f
#define FTIT_920   7.777f
#define FTIT_930   7.860f
#define FTIT_940   7.930f
#define FTIT_950   8.017f
#define FTIT_960   8.094f
#define FTIT_970   8.177f
#define FTIT_980   8.255f
#define FTIT_990   8.332f
#define FTIT_1000  8.410f
#define FTIT_1050  8.763f
#define FTIT_1100  9.160f
#define FTIT_1150  9.546f
#define FTIT_1200  9.941f


Offline Willy

  • -=VP Veteran Donor=-
  • General
  • *
  • Join Date: Apr 2005
  • Location: Richardson, TX
  • Posts: 1249
  • Country: us
  • VP Awards : 1000+ posts Award: Awarded for achieving over 1000 posts : Top Poster Award: for those 30 members with most posts : Bronze Medal Award: Awarded for special contributions to the community : Old Geezer Award: Awarded after 10 years of community service : Silver Cup Award: Awarded to someone for a special achievement
    • http://www.employees.org/~bwilliam
    • Awards
Re: KK's Pit
« Reply #965 on: March 13, 2018, 08:42:30 PM »
I do it the easy way with a lookup table. I have exactly measured all voltages for
every mark on the dial.
Yes, I think that is the best way.  My only concern for non-personalized software (i.e. folks not writing their own), each instrument can have some slight variations that requires a new table to be built.  That's why the AIC software from Falcas is so neat.  Each user can easily construct it without have to hard code values into code using #define statements.

I still want to try driving Aircores with the A/D board.  Do you have any Aircore based gauges?
Beau "Willy" Williamson

I better go find my monkey!

Offline KK

  • General
  • ******
  • Join Date: Aug 2005
  • Location: Davos
  • Posts: 1358
  • Country: ch
  • VP Awards : Old Geezer Award: Awarded after 10 years of community service : Top Poster Award: for those 30 members with most posts : 1000+ posts Award: Awarded for achieving over 1000 posts : Outstanding Build Award: Awarded for an outstanding pit build
    • Awards
Re: KK's Pit
« Reply #966 on: March 14, 2018, 11:48:50 AM »
Indeed, the instruments have slightly different calibrations.
I have two FTITs and they do not listen to the same values exactly the same way.
Its not done by just adding an offset value to the above given table.
Well, for my programming it doesn't matter. I can easily create another table for the other instrument and then I'm done.
But I'm really curious how they do it in the real bird when they are swapping a FTIT.
Any crew chief that can chime in here?

Offline Willy

  • -=VP Veteran Donor=-
  • General
  • *
  • Join Date: Apr 2005
  • Location: Richardson, TX
  • Posts: 1249
  • Country: us
  • VP Awards : 1000+ posts Award: Awarded for achieving over 1000 posts : Top Poster Award: for those 30 members with most posts : Bronze Medal Award: Awarded for special contributions to the community : Old Geezer Award: Awarded after 10 years of community service : Silver Cup Award: Awarded to someone for a special achievement
    • http://www.employees.org/~bwilliam
    • Awards
Re: KK's Pit
« Reply #967 on: March 14, 2018, 12:01:04 PM »
I'm not a crew chief but I don't think they have the same problem.  If I remember correctly you are using an FTIT from a simulator gauge manufacture.  I think the input to the F16 FTIT gauges take a different type of input.  However, I too would be curious to know how the F16 FTIT gauge is driven and if there is any calibration procedure spec'd for that instrument.
Beau "Willy" Williamson

I better go find my monkey!

Offline KK

  • General
  • ******
  • Join Date: Aug 2005
  • Location: Davos
  • Posts: 1358
  • Country: ch
  • VP Awards : Old Geezer Award: Awarded after 10 years of community service : Top Poster Award: for those 30 members with most posts : 1000+ posts Award: Awarded for achieving over 1000 posts : Outstanding Build Award: Awarded for an outstanding pit build
    • Awards
Re: KK's Pit
« Reply #968 on: March 14, 2018, 12:31:52 PM »
Quote
If I remember correctly you are using an FTIT from a simulator gauge manufacture

Nope, flight hardware.

Offline Willy

  • -=VP Veteran Donor=-
  • General
  • *
  • Join Date: Apr 2005
  • Location: Richardson, TX
  • Posts: 1249
  • Country: us
  • VP Awards : 1000+ posts Award: Awarded for achieving over 1000 posts : Top Poster Award: for those 30 members with most posts : Bronze Medal Award: Awarded for special contributions to the community : Old Geezer Award: Awarded after 10 years of community service : Silver Cup Award: Awarded to someone for a special achievement
    • http://www.employees.org/~bwilliam
    • Awards
Re: KK's Pit
« Reply #969 on: March 14, 2018, 05:11:33 PM »
I take it you mean an FTIT gauge from an F16.  Ok.  I guess I'm thinking of some other simulator instrument that you had.

In any case, I'm glad you were able to make it indicate with the Analog Devices board.
Beau "Willy" Williamson

I better go find my monkey!

Offline lightning

  • -=VP Donor=-
  • General
  • *
  • Join Date: Mar 2007
  • Location:
  • Posts: 2149
  • Country: 00
  • VP Awards : Old Geezer Award: Awarded after 10 years of community service : Software Guru Award: Awarded to those with special software skills : Top Poster Award: for those 30 members with most posts : Most Time Online Award: Awarded to those 30 members with most time on the forum : 2000+ posts Award: Awarded for achieving over 2000 posts
    • Lightning's Tools
    • Awards
Re: KK's Pit
« Reply #970 on: March 14, 2018, 10:32:18 PM »
 8)
@lightning,
I'm curious about how your code handles the non-linearity of the gauge faces.  I assume you have some code for that.  In my opinion, all interface software that is used to drive "steam gauges" should provide a calibration function that builds a correction table to account for the non-linearity of the dial faces.  I don't think any of them are 100% linear across their entire dial.  Because they are non-linear, you have to have some sort of calibration table to deal with this. 
...Could you take a second and describe where in your code you handle this and how? (XML Correction Table, hard coded math per specific gauge?).
In SimLinkup, how calibration is achieved depends on the specific set of interfaces being used.  There are multiple levels of calibration:

 - DAC Interface Device Level Calibration:
      This is used for calibrating hardware-level voltage settings, offsets, and gains per the built-capabilities of the specific DAC hardware device - applicable for example to AD536x/AD537x boards.   This type of calibration is achieved through the device-specific config file, where you can define (in the case of the Analog Devices hardware support module), per-channel-group voltage offsets & gains, as well as individual channel-level offset and gains, leveraging the capabilities of the interface device itself.  This level of calibration is only to ensure that (when, for example, the board or particular channel groups are to be configured as +/-10V outputs), that -10V is really -10V; +10V is really +10V.   
Example:
https://github.com/lightningviper/lightningstools/blob/master/src/SimLinkup/Content/Mapping/Nigel/AnalogDevicesHardwareSupportModule.config

This level of calibration does not accomplish translation of reference voltage levels to actual voltage levels to compensate for non-linearity of an attached instrument.  That is accomplished through other means as described further below.

 - Device-Specific Interface Calibration
    - This level is applicable to hardware support modules such as Henkie's SDI interface card, ADI interface card, FFI interface card, Altimeter interface card, etc. where the cards themselves do not offer a software or firmware calibration mechanism.  These settings are controlled in SimLinkup through interface-specific configuration files where the calibration table goes in the config file and allows defining the translation from a specific reference "position" to an actual position code to send (with linear interpolation of values between defined points in the calibration table).

Examples:
https://github.com/lightningviper/lightningstools/blob/master/src/SimLinkup/Content/Mapping/HenkieAltimeter/HenkieF16Altimeter.config

https://github.com/lightningviper/lightningstools/blob/master/src/SimLinkup/Content/Mapping/HenkieFuelFlowIndicator/HenkieF16FuelFlowIndicator.config

https://github.com/lightningviper/lightningstools/blob/master/src/SimLinkup/Content/Mapping/HenkADI/henksdi.config

 - Instrument-level calibration
     - This level of calibration is applicable for instruments attached through general-purpose cards like the AD536x/537x.  In SimLinkup, it is the responsibility of the specific Hardware Support Module for a given instrument to expose the calibration table functionality to the end user via its config file. 

The mechanism by which calibration is implemented in the SimLinkup runtime is generic.  In SimLinkup, the universal abstraction/first-class object/main concept is that of a "signal", and pretty much everything is defined as a Signal object.  For Analog signals, SimLinkup provides a subclass called CalibratedAnalogSignal that accepts a calibration table and automatically translates reference inputs to actual outputs according to the mapping table.  In the mapping files for particular instrument Hardware Support Modules, by defining the signal type as CalibratedAnalogSignal instead of ordinary AnalogSignal, it is possible to define the mapping table which SimLinkup will load for an individual part of the signal mapping path.  Reference:
https://github.com/lightningviper/lightningstools/blob/master/src/Common/MacroProgramming/CalibratedAnalogSignal.cs

Individual hardware support modules may (and in some instances, actually do) implement their own calibration scheme choosing not to leverage the overall generic mechanism provided by SimLinkup - as seen in some of the above examples. 

Quote
At some point, I'd like to see if we can drive Aircores with the Analog Devices A/D board.  I just don't recall if we can treat them like a SimTek instrument and provide them with +10V to -10V Sin and Cosine signals.  Their spec sheet doesn't seem to give max values for Vss and their example uses 0-10VDC as an example.  However, I'll bet if we have to go with 0 to +10V, we can account for that in the software that drives the A/D board. 
I'll be interested in your thoughts on driving Aircores with the A/D board.
The Analog Devices AD536x/537x boards can output any DC voltage in the range of +/-10V so even if it's 0 to +10V or some other range, that's fine.  I don't have a generic Air Core module written right now in SimLinkup for use with the AD cards, but the software part of this would again be trivial to develop.  To use the AD card for this purpose you'd have to build some hardware to sit between the AD card and the aircore motor to convert the low-current voltage outputs on the AD card to high-current outputs needed to drive the aircore motor through the use of a DAC buffer opamp and a resistor per channel.  The AD card could modulate the voltage (and therefore the current) and SimLinkup could generate the sin/cos signal pairs. 

« Last Edit: March 14, 2018, 11:14:20 PM by lightning »

Offline lightning

  • -=VP Donor=-
  • General
  • *
  • Join Date: Mar 2007
  • Location:
  • Posts: 2149
  • Country: 00
  • VP Awards : Old Geezer Award: Awarded after 10 years of community service : Software Guru Award: Awarded to those with special software skills : Top Poster Award: for those 30 members with most posts : Most Time Online Award: Awarded to those 30 members with most time on the forum : 2000+ posts Award: Awarded for achieving over 2000 posts
    • Lightning's Tools
    • Awards
Re: KK's Pit
« Reply #971 on: March 14, 2018, 10:39:33 PM »
Just to add to my post - the majority of pro level sim instruments I've seen (ex: from Simtek, AMI, Malwin, etc.) have reference voltage levels defined, per spec, that command the instrument to a particular indicated position.  The vast majority of these instruments have a built-in pair of tweaker controls that allow adjustment of the zero offset necessary to ensure that the minimum indicated value is displayed at when the specified min-value reference voltage is supplied, and the gain necessary to ensure that the maximum indicated value is displayed when the specified max-value reference voltage is supplied.  The instrument design internally in these types of instruments is generally sufficient to ensure sufficient linearity across the range of indicated values (although software-based calibration can of course compensate for nonlinearity developed over the lifetime of the instrument or at specific operating conditions). 

Offline Nigel

  • Global Moderator
  • General
  • *****
  • Join Date: Feb 2008
  • Location: Franklin, TN
  • Posts: 4090
  • Country: 00
  • VP Awards : Old Geezer Award: Awarded after 10 years of community service : Gold Cup Award: Awarded to someone for a special achievement : Gold Medal Award: Awarded for special contributions to the community : Outstanding Build Award: Awarded for an outstanding pit build : Silver Heart Award: Awarded to those showing a real heart for the community and/or it's cause : Top Poster Award: for those 30 members with most posts : Most Time Online Award: Awarded to those 30 members with most time on the forum : 3000+ posts Award: Awarded for achieving over 3000 posts
    • Awards
Re: KK's Pit
« Reply #972 on: March 19, 2018, 03:13:23 PM »
Klaus,
Lightning implemented a lookup table for the modules he developed for SimLinkup that I use to drive the trainer gauges in my pit, in this case the ADI command bars. The only remaining working videos left in my build thread show this here, scroll to Reply #1583 HE also built one for the real ADI using Henk's hardware interface but I dont have a video for that yet. reply #1580 shows every gauge in the pit working driven by two of the Analog Devices EVAL-AD5370EBZ which is the 40 channel version. I need 56 outputs to drive all the gauges and they work great. Glad to see you going down that path, the price has dropped from $199 USD for one board to $99 USD per board. I am going to buy a few because I worry that they may stop making them someday. You might consider that as well...
http://www.viperpits.org/smf/index.php?topic=3560.1575

Offline tiger-31

  • General
  • ******
  • Join Date: May 2014
  • Location:
  • Posts: 883
  • Country: be
  • VP Awards : Triplet Award: Awarded after 3 years of community service : Top Poster Award: for those 30 members with most posts
    • Awards
Re: KK's Pit
« Reply #973 on: March 19, 2018, 04:24:13 PM »
Klaus were did you buy your AD boards?

Offline KK

  • General
  • ******
  • Join Date: Aug 2005
  • Location: Davos
  • Posts: 1358
  • Country: ch
  • VP Awards : Old Geezer Award: Awarded after 10 years of community service : Top Poster Award: for those 30 members with most posts : 1000+ posts Award: Awarded for achieving over 1000 posts : Outstanding Build Award: Awarded for an outstanding pit build
    • Awards
Re: KK's Pit
« Reply #974 on: March 20, 2018, 05:32:50 AM »
Quote
Klaus were did you buy your AD boards?

At the moment I only have one 16-channel AD5360 board which I bought
online from mouser.com.

But I will follow Nigel's advice and get some of the 40-channel boards AD5370
which I will purchase from digikey.

Here is a link. Change to your country location and check customs. Shipping should be free but customs handling and tax will be charged.

https://www.digikey.ch/products/en/development-boards-kits-programmers/evaluation-boards-digital-to-analog-converters-dacs/793?k=ad5370