Merge branch 'clk_calib'
This commit is contained in:
commit
6eb1e9a5dd
4 changed files with 61 additions and 15 deletions
|
@ -31,6 +31,8 @@ void cc_getConfig(void);
|
||||||
void cc_enableClk(void);
|
void cc_enableClk(void);
|
||||||
void cc_disableClk(void);
|
void cc_disableClk(void);
|
||||||
void cc_saveDefaults(void);
|
void cc_saveDefaults(void);
|
||||||
|
void cc_setClkCorrection(void);
|
||||||
|
void cc_getClkCorrection(void);
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
@ -51,6 +53,8 @@ uint8_t cc_commands[] = {
|
||||||
CC_CMD_EN_CLK,
|
CC_CMD_EN_CLK,
|
||||||
CC_CMD_DIS_CLK,
|
CC_CMD_DIS_CLK,
|
||||||
CC_CMD_SAV_DFLT,
|
CC_CMD_SAV_DFLT,
|
||||||
|
CC_CMD_SET_CLK_CORR,
|
||||||
|
CC_CMD_GET_CLK_CORR,
|
||||||
};
|
};
|
||||||
|
|
||||||
void (*cc_cmd_functions[])() = {
|
void (*cc_cmd_functions[])() = {
|
||||||
|
@ -64,6 +68,8 @@ void (*cc_cmd_functions[])() = {
|
||||||
CC_CMD_EN_CLK_FUNC,
|
CC_CMD_EN_CLK_FUNC,
|
||||||
CC_CMD_DIS_CLK_FUNC,
|
CC_CMD_DIS_CLK_FUNC,
|
||||||
CC_CMD_SAV_DFLT_FUNC,
|
CC_CMD_SAV_DFLT_FUNC,
|
||||||
|
CC_CMD_SET_CLK_CORR_FUNC,
|
||||||
|
CC_CMD_GET_CLK_CORR_FUNC,
|
||||||
};
|
};
|
||||||
|
|
||||||
uint8_t cc_cmd_data_to_read[] = {
|
uint8_t cc_cmd_data_to_read[] = {
|
||||||
|
@ -77,6 +83,8 @@ uint8_t cc_cmd_data_to_read[] = {
|
||||||
CC_CMD_EN_CLK_DATA_TO_READ,
|
CC_CMD_EN_CLK_DATA_TO_READ,
|
||||||
CC_CMD_DIS_CLK_DATA_TO_READ,
|
CC_CMD_DIS_CLK_DATA_TO_READ,
|
||||||
CC_CMD_SAV_DFLT_DATA_TO_READ,
|
CC_CMD_SAV_DFLT_DATA_TO_READ,
|
||||||
|
CC_CMD_SET_CLK_CORR_DATA_TO_READ,
|
||||||
|
CC_CMD_GET_CLK_CORR_DATA_TO_READ,
|
||||||
};
|
};
|
||||||
|
|
||||||
uint8_t cc_read_data[CC_READ_DATA_MAX];
|
uint8_t cc_read_data[CC_READ_DATA_MAX];
|
||||||
|
@ -397,6 +405,38 @@ void cc_saveDefaults(void)
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void cc_setClkCorrection(void)
|
||||||
|
{
|
||||||
|
uint32_t tmp_corr = (uint32_t)cc_read_data[0] << 24;
|
||||||
|
tmp_corr += (uint32_t)cc_read_data[1] << 16;
|
||||||
|
tmp_corr += (uint32_t)cc_read_data[2] << 8;
|
||||||
|
tmp_corr += (uint32_t)cc_read_data[3];
|
||||||
|
|
||||||
|
si5351.set_correction(tmp_corr);
|
||||||
|
|
||||||
|
Serial.write(MSG_SOM1);
|
||||||
|
Serial.write(MSG_SOM2);
|
||||||
|
Serial.write(MSG_TYPE_ANSWER_OK);
|
||||||
|
Serial.write(MSG_EOM1);
|
||||||
|
Serial.write(MSG_EOM2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void cc_getClkCorrection(void)
|
||||||
|
{
|
||||||
|
uint32_t tmp_corr = si5351.get_correction();
|
||||||
|
|
||||||
|
Serial.write(MSG_SOM1);
|
||||||
|
Serial.write(MSG_SOM2);
|
||||||
|
Serial.write((uint8_t)((tmp_corr & 0xff000000) >> 24));
|
||||||
|
Serial.write((uint8_t)((tmp_corr & 0x00ff0000) >> 16));
|
||||||
|
Serial.write((uint8_t)((tmp_corr & 0x0000ff00) >> 8));
|
||||||
|
Serial.write((uint8_t) (tmp_corr & 0x000000ff));
|
||||||
|
Serial.write(MSG_EOM1);
|
||||||
|
Serial.write(MSG_EOM2);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
void cc_init()
|
void cc_init()
|
||||||
{
|
{
|
||||||
cc_state = CC_STATE_READ_SOM1;
|
cc_state = CC_STATE_READ_SOM1;
|
||||||
|
|
|
@ -45,6 +45,8 @@
|
||||||
#define CC_CMD_EN_CLK 0x20
|
#define CC_CMD_EN_CLK 0x20
|
||||||
#define CC_CMD_DIS_CLK 0x21
|
#define CC_CMD_DIS_CLK 0x21
|
||||||
#define CC_CMD_SAV_DFLT 0x22
|
#define CC_CMD_SAV_DFLT 0x22
|
||||||
|
#define CC_CMD_SET_CLK_CORR 0x23
|
||||||
|
#define CC_CMD_GET_CLK_CORR 0x24
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
@ -58,6 +60,8 @@
|
||||||
#define CC_CMD_EN_CLK_FUNC &cc_enableClk
|
#define CC_CMD_EN_CLK_FUNC &cc_enableClk
|
||||||
#define CC_CMD_DIS_CLK_FUNC &cc_disableClk
|
#define CC_CMD_DIS_CLK_FUNC &cc_disableClk
|
||||||
#define CC_CMD_SAV_DFLT_FUNC &cc_saveDefaults
|
#define CC_CMD_SAV_DFLT_FUNC &cc_saveDefaults
|
||||||
|
#define CC_CMD_SET_CLK_CORR_FUNC &cc_setClkCorrection
|
||||||
|
#define CC_CMD_GET_CLK_CORR_FUNC &cc_getClkCorrection
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
@ -71,10 +75,12 @@
|
||||||
#define CC_CMD_EN_CLK_DATA_TO_READ 1
|
#define CC_CMD_EN_CLK_DATA_TO_READ 1
|
||||||
#define CC_CMD_DIS_CLK_DATA_TO_READ 1
|
#define CC_CMD_DIS_CLK_DATA_TO_READ 1
|
||||||
#define CC_CMD_SAV_DFLT_DATA_TO_READ 0
|
#define CC_CMD_SAV_DFLT_DATA_TO_READ 0
|
||||||
|
#define CC_CMD_SET_CLK_CORR_DATA_TO_READ 4
|
||||||
|
#define CC_CMD_GET_CLK_CORR_DATA_TO_READ 0
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define CC_READ_DATA_MAX 64
|
#define CC_READ_DATA_MAX 64
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -1,27 +1,27 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
echo 160m
|
echo 160m
|
||||||
python meas.py -o 160m.csv -s 1810000 -e 2000000 -i 1 -p 1000 -d /dev/ttyUSB0 -m
|
python meas.py -o 160m.csv -s 1810000 -e 2000000 -i 1 -p 1000 -d /dev/ttyUSB0 -m -g
|
||||||
echo 80m
|
echo 80m
|
||||||
python meas.py -o 80m.csv -s 3500000 -e 3800000 -i 1 -p 1000 -d /dev/ttyUSB0 -m
|
python meas.py -o 80m.csv -s 3500000 -e 3800000 -i 1 -p 1000 -d /dev/ttyUSB0 -m -g
|
||||||
echo 40m
|
echo 40m
|
||||||
python meas.py -o 40m.csv -s 7000000 -e 7200000 -i 1 -p 1000 -d /dev/ttyUSB0 -m
|
python meas.py -o 40m.csv -s 7000000 -e 7200000 -i 1 -p 1000 -d /dev/ttyUSB0 -m -g
|
||||||
echo 30m
|
echo 30m
|
||||||
python meas.py -o 30m.csv -s 10100000 -e 10150000 -i 1 -p 1000 -d /dev/ttyUSB0 -m
|
python meas.py -o 30m.csv -s 10100000 -e 10150000 -i 1 -p 1000 -d /dev/ttyUSB0 -m -g
|
||||||
echo 20m
|
echo 20m
|
||||||
python meas.py -o 20m.csv -s 14000000 -e 14350000 -i 1 -p 1000 -d /dev/ttyUSB0 -m
|
python meas.py -o 20m.csv -s 14000000 -e 14350000 -i 1 -p 1000 -d /dev/ttyUSB0 -m -g
|
||||||
echo 17m
|
echo 17m
|
||||||
python meas.py -o 17m.csv -s 18068000 -e 18168000 -i 1 -p 1000 -d /dev/ttyUSB0 -m
|
python meas.py -o 17m.csv -s 18068000 -e 18168000 -i 1 -p 1000 -d /dev/ttyUSB0 -m -g
|
||||||
echo 15m
|
echo 15m
|
||||||
python meas.py -o 15m.csv -s 21000000 -e 21450000 -i 1 -p 1000 -d /dev/ttyUSB0 -m
|
python meas.py -o 15m.csv -s 21000000 -e 21450000 -i 1 -p 1000 -d /dev/ttyUSB0 -m -g
|
||||||
echo 12m
|
echo 12m
|
||||||
python meas.py -o 12m.csv -s 24890000 -e 24990000 -i 1 -p 1000 -d /dev/ttyUSB0 -m
|
python meas.py -o 12m.csv -s 24890000 -e 24990000 -i 1 -p 1000 -d /dev/ttyUSB0 -m -g
|
||||||
echo 10m
|
echo 10m
|
||||||
python meas.py -o 10m.csv -s 28000000 -e 29700000 -i 1 -p 1000 -d /dev/ttyUSB0 -m
|
python meas.py -o 10m.csv -s 28000000 -e 29700000 -i 1 -p 1000 -d /dev/ttyUSB0 -m -g
|
||||||
echo 6m
|
echo 6m
|
||||||
python meas.py -o 6m.csv -s 50080000 -e 51000000 -i 1 -p 1000 -d /dev/ttyUSB0 -m
|
python meas.py -o 6m.csv -s 50080000 -e 51000000 -i 1 -p 1000 -d /dev/ttyUSB0 -m -g
|
||||||
echo 2m
|
echo 2m
|
||||||
python meas.py -o 2m.csv -s 144000000 -e 146000000 -i 1 -p 1000 -d /dev/ttyUSB0 -m
|
python meas.py -o 2m.csv -s 144000000 -e 146000000 -i 1 -p 1000 -d /dev/ttyUSB0 -m -g
|
||||||
|
|
||||||
echo 70cm and up is not supported
|
echo 70cm and up is not supported
|
||||||
|
|
||||||
|
|
|
@ -500,8 +500,8 @@ def update_graph():
|
||||||
x = arange(start_freq, end_freq, step_freq)
|
x = arange(start_freq, end_freq, step_freq)
|
||||||
lvswr, = axarr[0].plot(x[0], [1], label='VSWR', markevery=[vswr_marker[0]], markersize=4, marker="o", markerfacecolor="r")
|
lvswr, = axarr[0].plot(x[0], [1], label='VSWR', markevery=[vswr_marker[0]], markersize=4, marker="o", markerfacecolor="r")
|
||||||
limp, = axarr[1].plot(x[0], [50], label='impedance', markevery=[vswr_marker[0]], markersize=4, marker="o", markerfacecolor="r")
|
limp, = axarr[1].plot(x[0], [50], label='impedance', markevery=[vswr_marker[0]], markersize=4, marker="o", markerfacecolor="r")
|
||||||
la0, = axarr[2].plot(x[0], [512], label='a0')
|
la0, = axarr[2].plot(x[0], [512], label='fwd')
|
||||||
la1, = axarr[2].plot(x[0], [512], label='a1')
|
la1, = axarr[2].plot(x[0], [512], label='ref')
|
||||||
|
|
||||||
axarr[0].legend(handles=[lvswr])
|
axarr[0].legend(handles=[lvswr])
|
||||||
axarr[0].set_xlim([start_freq, end_freq])
|
axarr[0].set_xlim([start_freq, end_freq])
|
||||||
|
@ -716,7 +716,7 @@ if __name__ == "__main__":
|
||||||
##### generate the output CSV file
|
##### generate the output CSV file
|
||||||
if args.output_file != None and args.start_meas == True:
|
if args.output_file != None and args.start_meas == True:
|
||||||
FILE = open(args.output_file, "w")
|
FILE = open(args.output_file, "w")
|
||||||
FILE.write("freqency;ratio;impedance;drive;a0;a1\n")
|
FILE.write("freqency;ratio;impedance;drive;fwd;ref\n")
|
||||||
j = 0
|
j = 0
|
||||||
i = ((drive_str + 1) * 2.0) / 1000.0
|
i = ((drive_str + 1) * 2.0) / 1000.0
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue