##// END OF EJS Templates
A "Campaign" has many "Locations", A "Location" has many Experiments....
A "Campaign" has many "Locations", A "Location" has many Experiments. git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@69 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r32:e512425c47f1
r48:292bafbb7b12
Show More
files.py
92 lines | 2.7 KiB | text/x-python | PythonLexer
'''
Created on Feb 8, 2016
@author: Miguel Urco
'''
import string
def read_dds_file(fp):
"""
Function to extract the parameters from a text file with the next format:
Input:
File with the next content:
Phase Adjust Register 1
-----------------------
00000000
00000000
.....
-----------------------
Frequency Tuning Word 1
-----------------------
00110101
01111111
11111111
11111111
10100000
00000000
Output:
Return configuration parameters for DDS: multiplier, frequency, phase, amplitude, etc.
"""
kwargs = {}
dds_registers = []
for this_line in fp:
this_line = str.strip(this_line)
if not str.isdigit(this_line):
continue
if len(this_line) != 8:
continue
dds_registers.append(string.atoi(this_line,2))
if len(dds_registers) != 40:
return kwargs
kwargs['clock'] = 60.0
kwargs['phase_bin'] = dds_registers[0]*(2**8) + dds_registers[1]
kwargs['phase_mod_bin'] = dds_registers[2]*(2**8) + dds_registers[3]
kwargs['frequency_bin'] = dds_registers[4]*(2**40) + dds_registers[5]*(2**32) + dds_registers[6]*(2**24) + dds_registers[7]*(2**16) + dds_registers[8]*(2**8) + dds_registers[9]
kwargs['frequency_mod_bin'] = dds_registers[10]*(2**40) + dds_registers[11]*(2**32) + dds_registers[12]*(2**24) + dds_registers[13]*(2**16) + dds_registers[14]*(2**8) + dds_registers[15]
kwargs['delta_frequency'] = dds_registers[16]*(2**40) + dds_registers[17]*(2**32) + dds_registers[18]*(2**24) + dds_registers[19]*(2**16) + dds_registers[20]*(2**8) + dds_registers[21]
kwargs['update_clock'] = dds_registers[22]*(2**24) + dds_registers[23]*(2**16) + dds_registers[24]*(2**8) + dds_registers[25]
kwargs['ramp_rate_clock'] = dds_registers[26]*(2**16) + dds_registers[27]*(2**8) + dds_registers[28]
kwargs['control_register'] = dds_registers[29]*(2**24) + dds_registers[30]*(2**16) + dds_registers[31]*(2**8) + dds_registers[32]
kwargs['multiplier'] = dds_registers[30] & 0x1F
kwargs['modulation'] = (dds_registers[31] & 0x0E) >> 1
kwargs['amplitude_enabled'] = (dds_registers[32] & 0x20) >> 5
kwargs['amplitude_ch_A'] = (dds_registers[33]*(2**8) + dds_registers[34]) & 0x0FFF
kwargs['amplitude_ch_B'] = (dds_registers[35]*(2**8) + dds_registers[36]) & 0x0FFF
kwargs['amplitude_ramp_rate'] = dds_registers[37]
return kwargs
def read_json_file(fp):
kwargs = {}
return kwargs
def write_dds_file(filename):
pass
def write_json_file(filename):
pass