diff --git a/regressiontest/fw_regressiontest.sh b/regressiontest/fw_regressiontest.sh index 3fcdc7d9be3037d632434ef602c2c6653f2a2279..a15c7387c5174d9c9b3b88f977021013ec1a0adf 100755 --- a/regressiontest/fw_regressiontest.sh +++ b/regressiontest/fw_regressiontest.sh @@ -178,7 +178,6 @@ if [[ -n "${test}" ]] && [[ -z "${rbffile}" ]]; then fi kill_old_procs() { - # kill $(ps -aux | grep 'fw_regressiontest.sh' | awk '{print $2}') kill $(ps -aux | grep 'git/sdptr/test' | awk '{print $2}') } @@ -215,17 +214,16 @@ reload_fw() { firmware_version=$(echo "${line}" | cut -d "_" -f3-) firmware_git_hash=$(echo "${line}" | cut -d "_" -f2) echo "Running firmware version name: '${firmware_version}', git hash: '${firmware_git_hash}'" - # TODO: uncomment - # if [[ "${firmware_version}" != "${rbf_firmware_version}" ]]; then - # echo "wrong firmware versions received from: ${node_info}" - # echo "wrong firmware versions received from: ${node_info}" >> ${MAILFILE} - # reload_passed= - # fi - # if [[ ${firmware_git_hash} != "${rbf_git_hash}" ]]; then - # echo "wrong firmware git hash received from: ${node_info}" - # echo "wrong firmware git hash received from: ${node_info}" >> ${MAILFILE} - # reload_passed= - # fi + if [[ "${firmware_version}" != "${rbf_firmware_version}" ]]; then + echo "wrong firmware versions received from: ${node_info}" + echo "wrong firmware versions received from: ${node_info}" >> ${MAILFILE} + reload_passed= + fi + if [[ ${firmware_git_hash} != "${rbf_git_hash}" ]]; then + echo "wrong firmware git hash received from: ${node_info}" + echo "wrong firmware git hash received from: ${node_info}" >> ${MAILFILE} + reload_passed= + fi fi fi done @@ -270,6 +268,7 @@ restart_and_check_sdptr() { sdptr_version=$(head -n 1 "${SDPTR_DIR}"/version.txt) echo "Expected sdptr version name: '${sdptr_version}'" # read sdptr version. + # TODO: check all nodes, not only the first!! sdp_version_str=$(sdp_rw.py --host "${sdptr_ip}" --port "${sdptr_port}" -r software_version) sdp_version=$(echo "${sdp_version_str}" | head -n1 | cut -d ":" -f2 | tr -d '[:space:]') echo "Running sdptr version name: '${sdp_version}'" @@ -278,7 +277,6 @@ restart_and_check_sdptr() { sdptr_passed= fi - # sleep 20 # sdptr detects all boards in this time echo 0 } @@ -352,18 +350,12 @@ run_test() { } if [[ -n "${remote_ip}" ]]; then - # copy latest sdptr to remote PC - sdptr_exec "$0" scp "${SDPTR_FILE}" "${remote_ip}":"${SDPTR_FILE}" # copy rbf file to flash to the boards sdptr_exec "$0" scp "${HOME}/latest_rbf_file/${rbf_filename}" "${remote_ip}":"${HOME}/latest_rbf_file/${rbf_filename}" # first update remote sdptr dir (git pull) sdptr_exec "$0" ssh -t "${remote_ip}" "${HOME}"/git/sdptr/regressiontest/git_update_master.sh - # kill old scrips on remote - remote_cmd="kill" - remote_args="$(ps -aux | grep 'fw_regressiontest.sh' | awk '{print $2}')" - sdptr_exec "$0" ssh -A -t "${remote_ip}" "${remote_cmd}" "${remote_args}" - remote_args="$(ps -aux | grep 'git/sdptr/test' | awk '{print $2}')" - sdptr_exec "$0" ssh -A -t "${remote_ip}" "${remote_cmd}" "${remote_args}" + # kill old scrips on remote pc + remote_cmd="/home/regtest/git/sdptr/regressiontest/kill_old_processes.sh" # run this script on remote pc remote_cmd="/home/regtest/git/sdptr/regressiontest/fw_regressiontest.sh" remote_args="--sdptr --sdptr-ip=${sdptr_ip} --sdptr-port=${sdptr_port} --rbf="${HOME}/latest_rbf_file/${rbf_filename}" --flash --test" @@ -385,11 +377,9 @@ else echo "PREV TEST-FAILED" else # run selected options - # [[ -n "${flash}" ]] && flash_fw && reload_fw - [[ -n "${flash}" ]] && reload_fw - # [[ -n "${sdptr}" ]] && build_sdptr && restart_and_check_sdptr - [[ -n "${sdptr}" ]] && restart_and_check_sdptr - [[ -n "${test}" ]] && run_test + [[ -n "${flash}" ]] && flash_fw && reload_fw + [[ -n "${reload_passed}" ]] && [[ -n "${sdptr}" ]] && build_sdptr && restart_and_check_sdptr + [[ -n "${sdptr_passed}" ]] && [[ -n "${test}" ]] && run_test fi # print build and/or run state on last rows diff --git a/src/constants.h b/src/constants.h index 8e97a78452881003ee16610b5e0506beaa2e6f68..ac2dbf8c852929235476df2b76596fd79ae30a25 100644 --- a/src/constants.h +++ b/src/constants.h @@ -48,8 +48,6 @@ #define C_WG_FREQ_UNIT 2147483648 // 2^31 #define C_BSN_LATENCY 20000 // 1 period = 5.12us, 20000 = +/- 100ms -// #define C_BSN_LATENCY 200000 // 1 period = 5.12us, 200000 = +/- 1.0s -// #define C_BSN_LATENCY 4000000 // 1 period = 5.12us, 400000 = +/- 2.0s #define C_N_bdo_destinations_mm 32 #define C_N_beamsets_sdp 2 diff --git a/src/io/ucp.cpp b/src/io/ucp.cpp index 29c3834888375c1092c469929084729168e314c4..6247390cb3b62669f92bdd0b224e61c4252e73df 100644 --- a/src/io/ucp.cpp +++ b/src/io/ucp.cpp @@ -153,7 +153,8 @@ bool UCP::Read(const uint32_t opcode, const uint32_t addr, const uint nvalues, u retries++; if (retries < max_retries) { - random_sleep(0.05); + if (retries == 1) { random_sleep(0.05); } + else if (retries == 2) { random_sleep(0.5); } } } if (retries == max_retries) { break; } @@ -241,7 +242,8 @@ bool UCP::Write(const uint32_t opcode, const uint32_t addr, const uint nvalues, retstat = ReceiveWriteAck(); if (retstat == 0) { break; } retries++; - random_sleep(0.05); + if (retries == 1) { random_sleep(0.05); } + else if (retries == 2) { random_sleep(0.5); } } if (retries == max_retries) { break; } nsent += _nvalues; diff --git a/src/io/udpsocket.h b/src/io/udpsocket.h index beb8fcd76801e27e0099df7cf327efab877637ac..71825c9a694172d869a54e5377c4874a1ba68e83 100644 --- a/src/io/udpsocket.h +++ b/src/io/udpsocket.h @@ -35,7 +35,7 @@ #include <netinet/in.h> #include <sys/types.h> -#define UDP_TIMEOUT_IN_msec 300 +#define UDP_TIMEOUT_IN_msec 250 class udpsocket { private: diff --git a/test/py/control/ring_common.py b/test/py/control/ring_common.py index 66d49a34d33a4c4d016bebc006a881c55a48dd6c..af9ad036cb0d9102cc5b05f51ee23f6f49b9595b 100755 --- a/test/py/control/ring_common.py +++ b/test/py/control/ring_common.py @@ -81,15 +81,15 @@ class RingCommon(object): @property def node_offset(self): return self.client.read("ring_node_offset") - + @node_offset.setter def node_offset(self, data): return self.client.write("ring_node_offset", data) - + @property def nof_nodes(self): return self.client.read("ring_nof_nodes") - + @nof_nodes.setter def nof_nodes(self, data): return self.client.write("ring_nof_nodes", data) diff --git a/test/py/control/stat_stream_xst.py b/test/py/control/stat_stream_xst.py index a17406f1b1a9d4a46f3e3576e8126b12c7a89438..067e5ec166e0411eb27f0bbda05541721e7256c1 100755 --- a/test/py/control/stat_stream_xst.py +++ b/test/py/control/stat_stream_xst.py @@ -664,7 +664,7 @@ class XstStatisticStream(object): if self.xst_processing_enable != [t_xst_proc_enable] * self.n_nodes: self.logger.error(f"xst_processing_enable={self.xst_processing_enable}") success = False - + self.logger.info("test xst start time") self.xst_processing_enable = [False] * self.n_nodes start_time = time.time() + 10.0 @@ -676,7 +676,7 @@ class XstStatisticStream(object): self.logger.error(f"xst_processing_enable={self.xst_processing_enable} on time {time.time()}") success = False time.sleep(0.1) - + time.sleep(1.0) if self.xst_processing_enable != [True] * self.n_nodes: self.logger.error(f"xst_processing_enable={self.xst_processing_enable} on time {time.time()}")