@@ -256,13 +256,6 @@ def generate_code(self, hdf5_file):
256256 dyn_table ['amp%d' % i ][:] = dds .amplitude .raw_output
257257 dyn_table ['phase%d' % i ][:] = dds .phase .raw_output
258258
259- # conversion to AD9959 units is done on the Pi Pico
260- for connection in stat_DDSs :
261- dds = stat_DDSs [connection ]
262- dds .frequency .scale_factor = 1.0
263- dds .phase .scale_factor = 1.0
264- dds .amplitude .scale_factor = 1.0
265-
266259 static_dtypes = {
267260 'names' :['%s%d' % (k , i ) for i in stat_DDSs for k in ['freq' , 'amp' , 'phase' ] ],
268261 'formats' :[f for i in stat_DDSs for f in ('float' , 'float' , 'float' )]
@@ -286,6 +279,10 @@ def generate_code(self, hdf5_file):
286279 grp .create_dataset ('dds_data' , compression = config .compression , data = dyn_table )
287280 if stat_DDSs :
288281 grp .create_dataset ('static_data' , compression = config .compression , data = static_table )
289- self .set_property ('frequency_scale_factor' , dds .frequency .scale_factor , location = 'device_properties' )
290- self .set_property ('amplitude_scale_factor' , dds .amplitude .scale_factor , location = 'device_properties' )
291- self .set_property ('phase_scale_factor' , dds .phase .scale_factor , location = 'device_properties' )
282+ # Store parameter scale factors
283+ _ , frequency_scale_factor = self .quantise_freq ([], None )
284+ _ , amplitude_scale_factor = self .quantise_amp ([], None )
285+ _ , phase_scale_factor = self .quantise_phase ([], None )
286+ self .set_property ('frequency_scale_factor' , frequency_scale_factor , location = 'device_properties' )
287+ self .set_property ('amplitude_scale_factor' , amplitude_scale_factor , location = 'device_properties' )
288+ self .set_property ('phase_scale_factor' , phase_scale_factor , location = 'device_properties' )
0 commit comments