1
0
Fork 0

keep widget properties

This commit is contained in:
Kevin Matz 2023-04-03 16:43:37 -04:00
parent 13bb3a39f0
commit 9f6968c915
2 changed files with 50 additions and 1 deletions

View File

@ -26,7 +26,12 @@
namespace ENTTEC {
Widget::Widget()
: usb_mode_(USBunknown)
: serial_number(0) // SN# 0 for emulated devices
, firmware_version(2<<8) // emulated devices support RDM
, tx_break_intervals(9) // 96.06 us (fastest) by default
, tx_mab_intervals(1) // 10.67 us (fastest) by default
, tx_rate(0) // 0 for fastest rate possible, by default
, usb_mode_(USBunknown)
{
}
@ -48,6 +53,8 @@ Widget::~Widget()
/**
* @brief Begin operating as a USB Device
*
* The base class method should be called from all inheriting overrides.
*/
void Widget::init()
{
@ -57,6 +64,8 @@ void Widget::init()
/**
* @brief Stop operating as a USB Device
*
* The base class method should be called from all inheriting overrides.
*/
void Widget::halt()
{
@ -66,6 +75,8 @@ void Widget::halt()
/**
* @brief Begin operating on the USB Host
*
* The base class method should be called from all inheriting overrides.
*/
void Widget::connect()
{
@ -75,6 +86,8 @@ void Widget::connect()
/**
* @brief Stop operating on the USB Host
*
* The base class method should be called from all inheriting overrides.
*/
void Widget::disconnect()
{
@ -206,6 +219,8 @@ void Widget::routeRxMessage(std::shared_ptr<Pro::MessageData> msg)
/**
* @brief Widget::sendMessage
* @param msg
*
* The base class method is to discard the message.
*/
void Widget::sendMessage(std::shared_ptr<Pro::MessageData> msg) const
{

View File

@ -27,6 +27,7 @@
#include <universe.h>
#include <cstring>
#include <vector>
namespace ENTTEC {
@ -47,10 +48,43 @@ public:
virtual void connect(); //!< USB Host start
virtual void disconnect(); //!< USB Host stop
/**
* @brief serial
* @return
*/
uint32_t serialNumber() const { return serial_number; }
/**
* @brief firmware
* @return
*/
uint16_t firmwareVersion() const { return firmware_version; }
/**
* @brief txBreakTime
* @return
*/
double txBreakTime() const { return tx_break_intervals * Pro::DMX_BREAK_INTERVAL; }
/**
* @brief txMabTime
* @return
*/
double txMabTime() const { return tx_mab_intervals * Pro::DMX_MAB_INTERVAL; }
/**
* @brief txRate
* @return
*/
double txRate() const { return tx_rate; }
protected:
void routeRxMessage(std::shared_ptr<Pro::MessageData>);
virtual void sendMessage(std::shared_ptr<Pro::MessageData>) const;
uint32_t serial_number; //!< BCD serial number
uint16_t firmware_version; //!< Firmware version number
uint8_t tx_break_intervals; //!< DMX_BREAK_INTERVAL count of the DMX BREAK
uint8_t tx_mab_intervals; //!< DMX_MAB_INTERVAL count of the DMX MARK AFTER BREAK
uint8_t tx_rate; //!< DMX packet transmit Rate
std::vector<uint8_t> user_configuration; //!< User defined configuration data.
private:
void rxMsgReprogramFirmware(std::shared_ptr<Pro::MsgReprogramFirmware>);
void rxMsgProgramFlashPageRequest(std::shared_ptr<Pro::MsgProgramFlashPageRequest>);