Access to create telemetry dashboard for PEGASUS satellite

No, I have only checked if all raw and padding fields are removed from the doc-fields. I am currently trying to setup everything in order to be able to check the decoder as you did above.

2 Likes

Ok, I can run all provided beacons in the contrib folder once and attach the result for checking in here. Does that help?

2 Likes

Yes, that would help! Many thanks in advance. :slight_smile:

2 Likes

data_a_beacon:


❯ decode_frame Pegasus contrib/pegasus/data_a_beacon
{
    "pid": 195,
    "call": "ON03AT",
    "ant_deploy_status_mb": 0,
    "ant_deploy_status_lb": 0,
    "temp_comp_hw": 5,
    "rbf_state": 255,
    "sid_a": 1,
    "stacie_version": 62,
    "ant_temp": 120567.74193548386
}

data_e_beacon:


❯ decode_frame Pegasus contrib/pegasus/data_e_beacon
{
    "pid": 193,
    "call": "ON03AT",
    "temp_bat1sw": 127,
    "temp_5v": 14,
    "eps_version": 85,
    "sid_e": 1,
    "temp_bat1": 7,
    "temp_bat2": 127,
    "status_1_3v3_1": true,
    "status_1_3v3_2": false,
    "status_1_3v3_3": false,
    "status_1_3v3_bu": true,
    "status_1_5v_1": false,
    "status_1_5v_2": false,
    "status_1_5v_3": false,
    "status_1_5v_4": false,
    "status_2_power_low": true,
    "status_2_bat1_pv1": false,
    "status_2_bat2_pv2": false,
    "status_2_3v3": true,
    "status_2_5v": false,
    "status_2_mode": 2,
    "status_3_3v3_burst": false,
    "status_3_5v_burst": false,
    "status_3_bat1_pv2": false,
    "status_3_bat2_pv1": false,
    "status_3_temp_warning": false,
    "status_3_cc1": true,
    "status_3_cc2": true,
    "status_3_rbf": true,
    "s_beacon_count": 53,
    "reboot_mc": 192,
    "reboot_cc1": 2,
    "reboot_cc2": 143,
    "temp_cc1": 13,
    "temp_cc2": -1,
    "status_cc1_mode": 1,
    "status_cc1_mc_timeout": false,
    "status_cc1_tbd": false,
    "status_cc1_en_i2c": true,
    "status_cc1_bat1_pv1": false,
    "status_cc1_bat2_pv2": false,
    "status_cc1_3v3_backup": true,
    "status_cc2_mode": 1,
    "status_cc2_mc_timeout": false,
    "status_cc2_tbd": false,
    "status_cc2_en_i2c": true,
    "status_cc2_bat1_pv1": false,
    "status_cc2_bat2_pv2": false,
    "status_cc2_3v3_backup": false,
    "v_pv2": 4.25,
    "v_5v_in": 3.21875,
    "v_pv1": 3.96875,
    "v_3v3_in": 3.96875,
    "v_3v3_out": 3.25,
    "v_hv": 3.96875,
    "v_5v_out": 0.09375,
    "v_bat1": 3.96875,
    "v_bat2": 5.96875,
    "vcc_cc2": 4.125,
    "vcc_cc1": 3.9375,
    "i_pv1_5v": 0.0,
    "i_pv2_5v": 0.0,
    "i_pv1_3v3": 3.625,
    "i_pv2_3v3": -3.5625,
    "i_pv1_bat1": -8.0,
    "i_pv2_bat1": 7.9375,
    "i_pv1_bat2": 0.0,
    "i_pv2_bat2": 0.0
}

data_hdk_download:


❯ decode_frame Pegasus contrib/pegasus/data_hkd_download
{
    "pid": 82,
    "temp_bat1sw": 127,
    "temp_5v": -7,
    "temp_bat1": 3,
    "temp_bat2": 4,
    "status_1_3v3_1": true,
    "status_1_3v3_2": false,
    "status_1_3v3_3": false,
    "status_1_3v3_bu": true,
    "status_1_5v_1": false,
    "status_1_5v_2": false,
    "status_1_5v_3": false,
    "status_1_5v_4": false,
    "status_2_power_low": false,
    "status_2_bat1_pv1": true,
    "status_2_bat2_pv2": true,
    "status_2_3v3": false,
    "status_2_5v": false,
    "status_2_mode": 2,
    "status_3_3v3_burst": false,
    "status_3_5v_burst": false,
    "status_3_bat1_pv2": false,
    "status_3_bat2_pv1": false,
    "status_3_temp_warning": true,
    "status_3_cc1": true,
    "status_3_cc2": true,
    "status_3_rbf": true,
    "status_cc1_mode": 1,
    "status_cc1_mc_timeout": false,
    "status_cc1_tbd": false,
    "status_cc1_en_i2c": true,
    "status_cc1_bat1_pv1": false,
    "status_cc1_bat2_pv2": false,
    "status_cc1_3v3_backup": true,
    "status_cc2_mode": 1,
    "status_cc2_mc_timeout": false,
    "status_cc2_tbd": false,
    "status_cc2_en_i2c": true,
    "status_cc2_bat1_pv1": false,
    "status_cc2_bat2_pv2": false,
    "status_cc2_3v3_backup": false,
    "v_pv2": 4.0,
    "v_5v_in": 3.0,
    "v_pv1": 4.0625,
    "v_3v3_in": 4.0,
    "v_3v3_out": 0.0,
    "v_hv": 1.8125,
    "v_5v_out": 0.0,
    "v_bat1": 4.0625,
    "v_bat2": 4.0,
    "vcc_cc2": 3.84375,
    "vcc_cc1": 3.6875,
    "i_pv1_5v": 0.0,
    "i_pv2_5v": 0.0,
    "i_pv1_3v3": 0.0,
    "i_pv2_3v3": 0.0,
    "i_pv1_bat1": -0.0625,
    "i_pv2_bat1": 0.0,
    "i_pv1_bat2": 0.0,
    "i_pv2_bat2": -0.0625,
    "temp_a": 18,
    "temp_c": 17,
    "state_machine_su_script": false,
    "state_machine_su_powered": false,
    "state_machine_adcs": true,
    "state_machine_not_used": false,
    "state_machine_obc": 1,
    "mission_counter": 44,
    "mission_counter_2": 218,
    "rssi_a": -113.0,
    "rssi_b": -94.0
}

data_o1_beacon:


❯ decode_frame Pegasus contrib/pegasus/data_o1_beacon
{
    "pid": 83,
    "call": "ON03AT",
    "temp_bat1sw": 127,
    "temp_5v": -3,
    "temp_bat1": 0,
    "temp_bat2": 127,
    "status_1_3v3_1": true,
    "status_1_3v3_2": false,
    "status_1_3v3_3": false,
    "status_1_3v3_bu": false,
    "status_1_5v_1": false,
    "status_1_5v_2": false,
    "status_1_5v_3": false,
    "status_1_5v_4": false,
    "status_2_power_low": true,
    "status_2_bat1_pv1": false,
    "status_2_bat2_pv2": false,
    "status_2_3v3": false,
    "status_2_5v": false,
    "status_2_mode": 2,
    "status_3_3v3_burst": false,
    "status_3_5v_burst": false,
    "status_3_bat1_pv2": false,
    "status_3_bat2_pv1": false,
    "status_3_temp_warning": true,
    "status_3_cc1": true,
    "status_3_cc2": true,
    "status_3_rbf": true,
    "reboot_mc": 192,
    "reboot_cc1": 2,
    "reboot_cc2": 143,
    "status_cc1_mode": 1,
    "status_cc1_mc_timeout": false,
    "status_cc1_tbd": false,
    "status_cc1_en_i2c": true,
    "status_cc1_bat1_pv1": false,
    "status_cc1_bat2_pv2": false,
    "status_cc1_3v3_backup": true,
    "status_cc2_mode": 1,
    "status_cc2_mc_timeout": false,
    "status_cc2_tbd": false,
    "status_cc2_en_i2c": true,
    "status_cc2_bat1_pv1": false,
    "status_cc2_bat2_pv2": false,
    "status_cc2_3v3_backup": false,
    "v_pv2": 4.25,
    "v_5v_in": 3.28125,
    "v_pv1": 3.96875,
    "v_3v3_in": 3.96875,
    "v_3v3_out": 0.0,
    "v_hv": 3.96875,
    "v_5v_out": 0.0,
    "v_bat1": 3.96875,
    "v_bat2": 4.09375,
    "vcc_cc2": 3.90625,
    "vcc_cc1": 3.9375,
    "i_pv1_5v": 0.0,
    "i_pv2_5v": 0.0,
    "i_pv1_3v3": 3.625,
    "i_pv2_3v3": -3.6875,
    "i_pv1_bat1": -8.0,
    "i_pv2_bat1": 7.9375,
    "i_pv1_bat2": 0.0,
    "i_pv2_bat2": 0.0625,
    "temp_a": 9,
    "temp_c": 0,
    "state_machine_su_script": false,
    "state_machine_su_powered": false,
    "state_machine_adcs": true,
    "state_machine_not_used": false,
    "state_machine_obc": 1,
    "mission_counter": 45,
    "mission_counter_2": 30,
    "rssi_a": -104.0,
    "rssi_b": -132.0,
    "stacie_mode_a": 0,
    "stacie_mode_c": 10
}

data_o2_beacon:


❯ decode_frame Pegasus contrib/pegasus/data_o2_beacon
{
    "pid": 86,
    "call": "ON03AT",
    "status_task_sensors_running": true,
    "status_obc_3v3_spa_enabled": true,
    "status_obc_power_saving_mode": false,
    "status_eps_cc_used": true,
    "status_last_reset_source": 0,
    "status_power_source": false,
    "status_crystal_osicallation_in_use": true,
    "status_ssp1_initialized": true,
    "status_ssp0_initialized": true,
    "status_i2c2_initialized": true,
    "status_i2c1_initialized": true,
    "status_i2c0_initialized": true,
    "status_rtc_synchronized": true,
    "status_statemachine_initialized": true,
    "status_task_maintenance_running": true,
    "status_uart_ttc1_initialized": true,
    "status_uart_mnlp_initialized": true,
    "status_uart_ttc2_initialized": true,
    "status_uart_gps_initialized": true,
    "status_adc_initialized": true,
    "status_rtc_initialized": true,
    "status_i2c_switches_initialized": true,
    "status_supply_switches_initialized": true,
    "status_eeprom3_initialized": true,
    "status_eeprom2_initialized": true,
    "status_eeprom1_initialized": true,
    "status_eps_cc2_operational": true,
    "status_eps_cc1_opeational": false,
    "status_timer1_initialized": true,
    "status_watchdog_initialized": true,
    "status_timer0_initialized": true,
    "status_mpu_initialized": true,
    "status_onboard_tmp100_initialized": true,
    "status_onboard_mag_initialized": true,
    "status_msp_initialized": true,
    "status_gyro2_initialized": true,
    "status_gyro1_initialized": true,
    "status_mag_bp_boom_initialized": false,
    "status_mag_bp_initialized": false,
    "status_bp_initialized": true,
    "status_sa_initailized": true,
    "status_spd_initialized": false,
    "status_spc_initialized": false,
    "status_spb_initialized": true,
    "status_spa_initialized": true,
    "status_flash2_initialized": true,
    "status_flash1_initialized": true,
    "status_spd_vcc_on": true,
    "status_spc_vcc_on": true,
    "status_spb_vcc_on": true,
    "status_spa_vcc_on": true,
    "status_science_module_initialized": false,
    "status_ttc2_initialized": false,
    "status_ttc1_initialized": false,
    "status_gps_initialized": false,
    "status_onboard_mag_powersafe": false,
    "status_i2c_sw_d_on": true,
    "status_i2c_sw_c_on": true,
    "status_i2c_sw_b_on": true,
    "status_i2c_sw_a_on": true,
    "status_sa_vcc_on": true,
    "status_bp2_vcc_on": true,
    "status_bp1_vcc_on": true,
    "status_eeprom_page_cycle_overflow": true,
    "status_rtc_oscillator_error": false,
    "status_mnlp_5v_enabled": false,
    "status_mag_bp_boom_power_saving_mode": false,
    "status_mag_bp_power_saving_mode": false,
    "status_tmp100_powersafe": false,
    "status_mpu_powersafe": false,
    "status_gyro_powersafe": false,
    "status_default_config_used": false,
    "status_timer1_running": true,
    "status_timer0_running": true,
    "status_i2c2_frequent_errors": true,
    "status_i2c1_frequent_errors": false,
    "status_i2c0_frequent_errors": true,
    "status_ssp1_frequent_errors": false,
    "status_ssp0_frequent_errors": false,
    "error_code": 0,
    "error_code_before_reset": 0,
    "resets_counter": 0,
    "script_slot_cs1": false,
    "script_slot_su7": false,
    "script_slot_su6": false,
    "script_slot_su5": false,
    "script_slot_su4": false,
    "script_slot_su3": true,
    "script_slot_su2": false,
    "script_slot_su1": false,
    "script_slot_cs5": false,
    "script_slot_cs4": false,
    "script_slot_cs3": false,
    "script_slot_cs2": false,
    "temp_sp_x_minus": 5.100000000000023,
    "temp_sp_x_plus": 5.100000000000023,
    "temp_sp_y_minus": -273.15,
    "temp_sp_y_plus": -273.15
}

data_s_beacon:


❯ decode_frame Pegasus contrib/pegasus/data_s_beacon
{
    "pid": 192,
    "call": "ON03AT",
    "trx_temp": 10,
    "antenna_deployment": 0,
    "stacie_op": 0,
    "temp_compensation": 1,
    "reset_counter": 3,
    "uplink_error": 1,
    "obc_sent_packet_counter_between_s_beacons": 26,
    "beacon_interval": 28,
    "sid_s": 0,
    "tx_sel_reason": 255,
    "reason_remote": 0,
    "gs_cmd_counter": 0,
    "beacon_count": 0,
    "prim_freq_start": 661,
    "sec_freq_start": 651,
    "usp": 6.14236203679019,
    "rssi_idle": -116.0,
    "rssi_rx": -132.0,
    "primary_carrier": 43667000.0,
    "secondary_carrier": 43800000.0,
    "used_carrier": 43667000.0,
    "temperature_compensation_carrier": 43666843.75,
    "s_time": 745
}

Please review if every expected field is present and check if the values are correct.

1 Like

Thanks! Data looks fine, I have compared it with the decoded data in the official PEGASUS database. Although, some of the data (temp_sp_y_minus, temp_sp_y_plus, ant_temp, temp_bat2 (E.g. was correct 3 years ago, where we did the HKD download :wink: ), temp_bat1sw, … ) isn’t correct or physically not possible - but this is due to the fact, that many systems are faulty after over 6 years in orbit. :slight_smile: I would like to keep the faulty data, since in observations some years ago it is correct. We will make a note on that within the Dashboard.

1 Like

That’s totally fine!
Let me know if I can be of help in the future!

1 Like

Thanks, you will! Our next CubeSat mission CLIMB is planed to be launched next year. It shall be fully integrated into SatNOGS together with gr-satellites pre-launch. :slight_smile: CLIMB’s data is still not defined and there will be a new protocol for S-band. Therefore, we use the last weeks of PEGASUS to learn on how to implement everything. Sadly PEGASUS will enter Earth’s atmosphere mid of January according to predictions.

2 Likes