Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
970c8998f0 | |||
8a87d83653 | |||
cf55b3630c | |||
656e75052b | |||
e91bf01daf | |||
eae0120643 | |||
fc3cf480dc | |||
acca981260 | |||
822eaa4c89 | |||
252d140b8e | |||
4a990e704b
|
|||
522f273c99
|
@ -10,7 +10,13 @@ list yields a list of all related PRs for each release.
|
|||||||
|
|
||||||
# [unreleased]
|
# [unreleased]
|
||||||
|
|
||||||
# [v4.0.0] to be released
|
# [v4.1.0] 2023-06-14
|
||||||
|
|
||||||
|
## Added
|
||||||
|
|
||||||
|
- Some BPX battery commands
|
||||||
|
|
||||||
|
# [v4.0.0] 2023-06-10
|
||||||
|
|
||||||
`tmtccmd` version: v5.0.0rc0
|
`tmtccmd` version: v5.0.0rc0
|
||||||
|
|
||||||
|
9
automation/Dockerfile
Normal file
9
automation/Dockerfile
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
FROM python:3
|
||||||
|
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get --yes upgrade
|
||||||
|
#tzdata is a dependency, won't install otherwise
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
#pip needs a valid user to work
|
||||||
|
RUN adduser --uid 114 jenkins
|
14
automation/Jenkinsfile
vendored
Normal file
14
automation/Jenkinsfile
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
pipeline {
|
||||||
|
agent {
|
||||||
|
docker {
|
||||||
|
image 'eive-tmtc-ci:d2'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stages {
|
||||||
|
stage('Package') {
|
||||||
|
steps {
|
||||||
|
sh 'pip install .'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,11 +1,11 @@
|
|||||||
__version__ = "4.0.0"
|
__version__ = "4.1.0"
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
SW_NAME = "eive-tmtc"
|
SW_NAME = "eive-tmtc"
|
||||||
VERSION_MAJOR = 4
|
VERSION_MAJOR = 4
|
||||||
VERSION_MINOR = 0
|
VERSION_MINOR = 1
|
||||||
VERSION_REVISION = 0
|
VERSION_REVISION = 0
|
||||||
|
|
||||||
EIVE_TMTC_ROOT = Path(__file__).parent
|
EIVE_TMTC_ROOT = Path(__file__).parent
|
||||||
|
@ -28,14 +28,24 @@ class BpxSetId(enum.IntEnum):
|
|||||||
class BpxActionId:
|
class BpxActionId:
|
||||||
REBOOT = 2
|
REBOOT = 2
|
||||||
RESET_COUNTERS = 3
|
RESET_COUNTERS = 3
|
||||||
SET_CFG = 4
|
CONFIG_CMD = 4
|
||||||
GET_CFG = 5
|
GET_CFG = 5
|
||||||
|
SET_CFG = 6
|
||||||
|
MAN_HEATER_ON = 10
|
||||||
|
MAN_HEATER_OFF = 11
|
||||||
|
|
||||||
|
|
||||||
|
class BpxHeaterModeSelect(enum.IntEnum):
|
||||||
|
OFF = 0
|
||||||
|
AUTO = 1
|
||||||
|
|
||||||
|
|
||||||
class BpxOpCode:
|
class BpxOpCode:
|
||||||
HK = ["0", "hk"]
|
HK = ["0", "hk"]
|
||||||
OFF = ["off"]
|
OFF = ["off"]
|
||||||
ON = ["on"]
|
ON = ["on"]
|
||||||
|
RST_CFG = "reset_cfg"
|
||||||
|
SET_CFG = "set_cfg"
|
||||||
RST_BOOT_CNT = ["1", "rst_boot_cnt"]
|
RST_BOOT_CNT = ["1", "rst_boot_cnt"]
|
||||||
REQUEST_CFG = ["2", "cfg"]
|
REQUEST_CFG = ["2", "cfg"]
|
||||||
REQUEST_CFG_HK = ["3", "cfg_hk"]
|
REQUEST_CFG_HK = ["3", "cfg_hk"]
|
||||||
@ -49,6 +59,8 @@ def add_bpx_cmd_definitions(defs: TmtcDefinitionWrapper):
|
|||||||
oce.add(keys=BpxOpCode.OFF, info="Off command")
|
oce.add(keys=BpxOpCode.OFF, info="Off command")
|
||||||
oce.add(keys=BpxOpCode.HK, info="Request BPX HK")
|
oce.add(keys=BpxOpCode.HK, info="Request BPX HK")
|
||||||
oce.add(keys=BpxOpCode.RST_BOOT_CNT, info="Reset Boot Count")
|
oce.add(keys=BpxOpCode.RST_BOOT_CNT, info="Reset Boot Count")
|
||||||
|
oce.add(keys=BpxOpCode.RST_CFG, info="Reset Config")
|
||||||
|
oce.add(keys=BpxOpCode.SET_CFG, info="Set BPX configuration")
|
||||||
oce.add(keys=BpxOpCode.REQUEST_CFG, info="Request Configuration Struct (Step 1)")
|
oce.add(keys=BpxOpCode.REQUEST_CFG, info="Request Configuration Struct (Step 1)")
|
||||||
oce.add(
|
oce.add(
|
||||||
keys=BpxOpCode.REQUEST_CFG_HK, info="Request Configuration Struct HK (Step 2)"
|
keys=BpxOpCode.REQUEST_CFG_HK, info="Request Configuration Struct HK (Step 2)"
|
||||||
@ -96,6 +108,31 @@ def pack_bpx_commands(p: ServiceProviderParams):
|
|||||||
object_id=BPX_HANDLER_ID, action_id=BpxActionId.RESET_COUNTERS
|
object_id=BPX_HANDLER_ID, action_id=BpxActionId.RESET_COUNTERS
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
if op_code == BpxOpCode.RST_CFG:
|
||||||
|
q.add_log_cmd("Reset BPX configuration")
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_action_cmd(
|
||||||
|
object_id=BPX_HANDLER_ID, action_id=BpxActionId.CONFIG_CMD
|
||||||
|
)
|
||||||
|
)
|
||||||
|
if op_code == BpxOpCode.SET_CFG:
|
||||||
|
q.add_log_cmd("Setting BPX configuration")
|
||||||
|
user_data = bytearray()
|
||||||
|
batt_mode = BpxHeaterModeSelect(
|
||||||
|
int(input("BPX heater mode select, 0 for OFF 1 for AUTO: "))
|
||||||
|
)
|
||||||
|
user_data.append(batt_mode)
|
||||||
|
lower_limit = int(input("Lower heater limit (-2 default): "))
|
||||||
|
user_data.append(struct.pack("!b", lower_limit)[0])
|
||||||
|
upper_limit = int(input("Upper heater limit (3 default): "))
|
||||||
|
user_data.append(struct.pack("!b", upper_limit)[0])
|
||||||
|
q.add_pus_tc(
|
||||||
|
create_action_cmd(
|
||||||
|
object_id=BPX_HANDLER_ID,
|
||||||
|
action_id=BpxActionId.SET_CFG,
|
||||||
|
user_data=user_data,
|
||||||
|
)
|
||||||
|
)
|
||||||
if op_code in BpxOpCode.REQUEST_CFG:
|
if op_code in BpxOpCode.REQUEST_CFG:
|
||||||
q.add_log_cmd("Requesting configuration struct")
|
q.add_log_cmd("Requesting configuration struct")
|
||||||
q.add_pus_tc(
|
q.add_pus_tc(
|
||||||
|
Reference in New Issue
Block a user