SatNOGS-COMMS  4.1.0
A COMMS subsystem for CubeSats
Loading...
Searching...
No Matches
satnogs::comms::lib::antenna_isis< N > Class Template Reference

This class implements the management of Antenna System2 from ISIS. More...

#include <antenna_isis.hpp>

Inheritance diagram for satnogs::comms::lib::antenna_isis< N >:
satnogs::comms::lib::antenna

Public Types

enum class  cmd : uint8_t {
  CANCEL = 0xA9 , DISARM = 0xAC , ARM = 0xAD , DEPLOY_ANT1_OVERRIDE = 0xBA ,
  DEPLOY_ANT2_OVERRIDE = 0xBB , DEPLOY_ANT1_OVERRIDE_BACKUP = 0xBC , DEPLOY_ANT2_OVERRIDE_BACKUP = 0xBD , TEMPERATURE = 0xC0 ,
  DEPLOYMENT_STATUS = 0xC3 , UPTIME = 0xC6 , ALL = 0xC7
}
Public Types inherited from satnogs::comms::lib::antenna
enum class  tlm : uint8_t {
  DEPLOYED , UPTIME , TEMPERATURE , VOLTAGE ,
  CURRENT
}

Public Member Functions

 antenna_isis (const etl::istring &name, bsp::i2c &i2c, uint16_t addr, bsp::gpio &pwr)
 Construct a new antenna_isis object.
void enable (bool en) override
 Enables or disables the antenna subsystem if required.
bool detect (uint32_t idx) override
 Returns antenna deployment status.
void deploy (uint32_t idx, bool en) override
 Deploy the antenna.
void telemetry (tlm t, uint32_t &res)
void telemetry (tlm t, float &res) override
void telemetry (tlm t, uint32_t idx, bool &res) override
Public Member Functions inherited from satnogs::comms::lib::antenna
 antenna (const char *name, uint32_t nelems)
 Construct a new generic antenna object.
virtual void deploy_backup (uint32_t idx, bool en)
 Deploy the antenna using the backup method if exists.
const char * name () const
 Retrieves the name of the antenna.
uint32_t nelems () const
 Retrieves the number of available elements of the antenna.
virtual void telemetry (tlm t, bool &res)
virtual void telemetry (tlm t, uint32_t idx, float &res)
virtual void telemetry (tlm t, uint32_t idx, uint32_t &res)

Additional Inherited Members

Protected Attributes inherited from satnogs::comms::lib::antenna
const etl::string< 32 > m_name
const uint32_t m_nelems

Detailed Description

template<uint32_t N>
class satnogs::comms::lib::antenna_isis< N >

This class implements the management of Antenna System2 from ISIS.

Template Parameters
Nthe number of elements

Definition at line 41 of file antenna_isis.hpp.

Member Enumeration Documentation

◆ cmd

template<uint32_t N>
enum class satnogs::comms::lib::antenna_isis::cmd : uint8_t
strong
Enumerator
CANCEL 
DISARM 
ARM 
DEPLOY_ANT1_OVERRIDE 
DEPLOY_ANT2_OVERRIDE 
DEPLOY_ANT1_OVERRIDE_BACKUP 
DEPLOY_ANT2_OVERRIDE_BACKUP 
TEMPERATURE 
DEPLOYMENT_STATUS 
UPTIME 
ALL 

Definition at line 44 of file antenna_isis.hpp.

Constructor & Destructor Documentation

◆ antenna_isis()

template<uint32_t N>
satnogs::comms::lib::antenna_isis< N >::antenna_isis ( const etl::istring & name,
bsp::i2c & i2c,
uint16_t addr,
bsp::gpio & pwr )
inline

Construct a new antenna_isis object.

Parameters
namethe name of the antenna
i2cthe I2C device
addrthe I2C address of the antenna
pwrthe GPIO to control the power for the antenna

Definition at line 67 of file antenna_isis.hpp.

Member Function Documentation

◆ deploy()

template<uint32_t N>
void satnogs::comms::lib::antenna_isis< N >::deploy ( uint32_t idx,
bool en )
inlineoverridevirtual

Deploy the antenna.

Parameters
idxAn antenna index. Should be in the range [0, -1]
entrue to deploy, false to stop trying to deploy.

Reimplemented from satnogs::comms::lib::antenna.

Definition at line 89 of file antenna_isis.hpp.

◆ detect()

template<uint32_t N>
bool satnogs::comms::lib::antenna_isis< N >::detect ( uint32_t idx)
inlineoverridevirtual

Returns antenna deployment status.

Parameters
idxAn antenna index. Should be in the range [0, -1]
Returns
true if the the antenna is deployed, false otherwise

Reimplemented from satnogs::comms::lib::antenna.

Definition at line 81 of file antenna_isis.hpp.

◆ enable()

template<uint32_t N>
void satnogs::comms::lib::antenna_isis< N >::enable ( bool en)
inlineoverridevirtual

Enables or disables the antenna subsystem if required.

Parameters
entrue to enable, false to disable

Reimplemented from satnogs::comms::lib::antenna.

Definition at line 75 of file antenna_isis.hpp.

◆ telemetry() [1/3]

template<uint32_t N>
void satnogs::comms::lib::antenna_isis< N >::telemetry ( tlm t,
float & res )
inlineoverridevirtual

Reimplemented from satnogs::comms::lib::antenna.

Definition at line 131 of file antenna_isis.hpp.

◆ telemetry() [2/3]

template<uint32_t N>
void satnogs::comms::lib::antenna_isis< N >::telemetry ( tlm t,
uint32_t & res )
inlinevirtual

Reimplemented from satnogs::comms::lib::antenna.

Definition at line 114 of file antenna_isis.hpp.

◆ telemetry() [3/3]

template<uint32_t N>
void satnogs::comms::lib::antenna_isis< N >::telemetry ( tlm t,
uint32_t idx,
bool & res )
inlineoverridevirtual

Reimplemented from satnogs::comms::lib::antenna.

Definition at line 173 of file antenna_isis.hpp.


The documentation for this class was generated from the following file: