Device: Add RADGigastar2
parent
f552df372b
commit
e73f61bfcc
|
|
@ -28,6 +28,7 @@
|
||||||
- CAN works
|
- CAN works
|
||||||
- CAN FD works
|
- CAN FD works
|
||||||
- Ethernet works
|
- Ethernet works
|
||||||
|
- RADGigastar2
|
||||||
|
|
||||||
- Connecting over USB
|
- Connecting over USB
|
||||||
- ValueCAN 4 series
|
- ValueCAN 4 series
|
||||||
|
|
@ -60,3 +61,4 @@
|
||||||
- Ethernet works
|
- Ethernet works
|
||||||
- RADMoonT1S
|
- RADMoonT1S
|
||||||
- Ethernet works
|
- Ethernet works
|
||||||
|
- RADGigastar2
|
||||||
|
|
|
||||||
|
|
@ -204,6 +204,10 @@ std::vector<std::shared_ptr<Device>> DeviceFinder::FindAll() {
|
||||||
#ifdef __RADGIGASTAR_H_
|
#ifdef __RADGIGASTAR_H_
|
||||||
makeIfSerialMatches<RADGigastar>(dev, newFoundDevices);
|
makeIfSerialMatches<RADGigastar>(dev, newFoundDevices);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __RADGIGASTAR2_H_
|
||||||
|
makeIfSerialMatches<RADGigastar2>(dev, newFoundDevices);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __RADJUPITER_H_
|
#ifdef __RADJUPITER_H_
|
||||||
makeIfSerialMatches<RADJupiter>(dev, newFoundDevices);
|
makeIfSerialMatches<RADJupiter>(dev, newFoundDevices);
|
||||||
|
|
@ -356,6 +360,10 @@ const std::vector<DeviceType>& DeviceFinder::GetSupportedDevices() {
|
||||||
RADGigastar::DEVICE_TYPE,
|
RADGigastar::DEVICE_TYPE,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __RADGIGASTAR2_H_
|
||||||
|
RADGigastar2::DEVICE_TYPE,
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined __RADMOON2_H_ || defined __RADMOON2ZL_H_
|
#if defined __RADMOON2_H_ || defined __RADMOON2ZL_H_
|
||||||
RADMoon2::DEVICE_TYPE,
|
RADMoon2::DEVICE_TYPE,
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@ public:
|
||||||
Connect = (0x00000026),
|
Connect = (0x00000026),
|
||||||
RADComet3 = (0x00000027),
|
RADComet3 = (0x00000027),
|
||||||
RADMoonT1S = (0x00000028),
|
RADMoonT1S = (0x00000028),
|
||||||
|
RADGigastar2 = (0x00000029),
|
||||||
RED = (0x00000040),
|
RED = (0x00000040),
|
||||||
ECU = (0x00000080),
|
ECU = (0x00000080),
|
||||||
IEVB = (0x00000100),
|
IEVB = (0x00000100),
|
||||||
|
|
@ -195,6 +196,8 @@ public:
|
||||||
return "RAD-Moon T1S";
|
return "RAD-Moon T1S";
|
||||||
case Connect:
|
case Connect:
|
||||||
return "neoVI Connect";
|
return "neoVI Connect";
|
||||||
|
case RADGigastar2:
|
||||||
|
return "RAD-Gigastar 2";
|
||||||
case DONT_REUSE0:
|
case DONT_REUSE0:
|
||||||
case DONT_REUSE1:
|
case DONT_REUSE1:
|
||||||
case DONT_REUSE2:
|
case DONT_REUSE2:
|
||||||
|
|
@ -251,6 +254,7 @@ private:
|
||||||
#define ICSNEO_DEVICETYPE_CONNECT ((devicetype_t)0x00000026)
|
#define ICSNEO_DEVICETYPE_CONNECT ((devicetype_t)0x00000026)
|
||||||
#define ICSNEO_DEVICETYPE_RADCOMET3 ((devicetype_t)0x00000027)
|
#define ICSNEO_DEVICETYPE_RADCOMET3 ((devicetype_t)0x00000027)
|
||||||
#define ICSNEO_DEVICETYPE_RADMOONT1S ((devicetype_t)0x00000028)
|
#define ICSNEO_DEVICETYPE_RADMOONT1S ((devicetype_t)0x00000028)
|
||||||
|
#define ICSNEO_DEVICETYPE_RADGIGASTAR2 ((devicetype_t)0x00000029)
|
||||||
#define ICSNEO_DEVICETYPE_RED ((devicetype_t)0x00000040)
|
#define ICSNEO_DEVICETYPE_RED ((devicetype_t)0x00000040)
|
||||||
#define ICSNEO_DEVICETYPE_ECU ((devicetype_t)0x00000080)
|
#define ICSNEO_DEVICETYPE_ECU ((devicetype_t)0x00000080)
|
||||||
#define ICSNEO_DEVICETYPE_IEVB ((devicetype_t)0x00000100)
|
#define ICSNEO_DEVICETYPE_IEVB ((devicetype_t)0x00000100)
|
||||||
|
|
@ -279,4 +283,4 @@ private:
|
||||||
#define ICSNEO_DEVICETYPE_OBD2_SIM ((devicetype_t)0x80000000)
|
#define ICSNEO_DEVICETYPE_OBD2_SIM ((devicetype_t)0x80000000)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,139 @@
|
||||||
|
#ifndef __RADGIGASTAR2_H_
|
||||||
|
#define __RADGIGASTAR2_H_
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
|
||||||
|
#include "icsneo/device/device.h"
|
||||||
|
#include "icsneo/device/devicetype.h"
|
||||||
|
#include "icsneo/disk/extextractordiskreaddriver.h"
|
||||||
|
#include "icsneo/disk/neomemorydiskdriver.h"
|
||||||
|
#include "icsneo/device/tree/radgigastar2/radgigastar2settings.h"
|
||||||
|
|
||||||
|
namespace icsneo
|
||||||
|
{
|
||||||
|
|
||||||
|
class RADGigastar2 : public Device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// Serial numbers start with GT
|
||||||
|
// USB PID is 0x1210, standard driver is FTDI3
|
||||||
|
// Ethernet MAC allocation is 0x22, standard driver is Raw
|
||||||
|
ICSNEO_FINDABLE_DEVICE(RADGigastar2, DeviceType::RADGigastar2, "GT");
|
||||||
|
|
||||||
|
static const std::vector<Network> &GetSupportedNetworks()
|
||||||
|
{
|
||||||
|
static std::vector<Network> supportedNetworks = {
|
||||||
|
Network::NetID::HSCAN,
|
||||||
|
Network::NetID::HSCAN2,
|
||||||
|
Network::NetID::HSCAN3,
|
||||||
|
Network::NetID::HSCAN4,
|
||||||
|
|
||||||
|
Network::NetID::Ethernet,
|
||||||
|
Network::NetID::Ethernet2,
|
||||||
|
|
||||||
|
Network::NetID::OP_Ethernet1,
|
||||||
|
Network::NetID::OP_Ethernet2,
|
||||||
|
Network::NetID::OP_Ethernet3,
|
||||||
|
Network::NetID::OP_Ethernet4,
|
||||||
|
Network::NetID::OP_Ethernet5,
|
||||||
|
Network::NetID::OP_Ethernet6,
|
||||||
|
Network::NetID::OP_Ethernet7,
|
||||||
|
Network::NetID::OP_Ethernet8,
|
||||||
|
Network::NetID::OP_Ethernet9,
|
||||||
|
Network::NetID::OP_Ethernet10,
|
||||||
|
|
||||||
|
Network::NetID::LIN,
|
||||||
|
Network::NetID::LIN2,
|
||||||
|
Network::NetID::LIN3,
|
||||||
|
Network::NetID::LIN4,
|
||||||
|
Network::NetID::LIN5,
|
||||||
|
Network::NetID::LIN6,
|
||||||
|
Network::NetID::LIN7,
|
||||||
|
Network::NetID::LIN8,
|
||||||
|
Network::NetID::LIN9,
|
||||||
|
Network::NetID::LIN10,
|
||||||
|
|
||||||
|
Network::NetID::I2C,
|
||||||
|
Network::NetID::I2C2,
|
||||||
|
|
||||||
|
Network::NetID::MDIO1,
|
||||||
|
Network::NetID::MDIO2,
|
||||||
|
|
||||||
|
Network::NetID::SPI1,
|
||||||
|
Network::NetID::SPI2,
|
||||||
|
Network::NetID::SPI3,
|
||||||
|
Network::NetID::SPI4,
|
||||||
|
Network::NetID::SPI5,
|
||||||
|
Network::NetID::SPI6,
|
||||||
|
Network::NetID::SPI7,
|
||||||
|
Network::NetID::SPI8,
|
||||||
|
};
|
||||||
|
return supportedNetworks;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t getEthernetActivationLineCount() const override { return 1; }
|
||||||
|
|
||||||
|
bool getEthPhyRegControlSupported() const override { return true; }
|
||||||
|
|
||||||
|
bool supportsTC10() const override { return true; }
|
||||||
|
|
||||||
|
protected:
|
||||||
|
RADGigastar2(neodevice_t neodevice, const driver_factory_t &makeDriver) : Device(neodevice)
|
||||||
|
{
|
||||||
|
initialize<RADGigastar2Settings>(makeDriver);
|
||||||
|
}
|
||||||
|
|
||||||
|
void setupPacketizer(Packetizer &packetizer) override
|
||||||
|
{
|
||||||
|
Device::setupPacketizer(packetizer);
|
||||||
|
packetizer.disableChecksum = true;
|
||||||
|
packetizer.align16bit = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setupDecoder(Decoder &decoder) override
|
||||||
|
{
|
||||||
|
Device::setupDecoder(decoder);
|
||||||
|
decoder.timestampResolution = 10; // Timestamps are in 10ns increments instead of the usual 25ns
|
||||||
|
}
|
||||||
|
|
||||||
|
void setupEncoder(Encoder &encoder) override
|
||||||
|
{
|
||||||
|
Device::setupEncoder(encoder);
|
||||||
|
encoder.supportCANFD = true;
|
||||||
|
encoder.supportEthPhy = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setupSupportedRXNetworks(std::vector<Network> &rxNetworks) override
|
||||||
|
{
|
||||||
|
for (auto &netid : GetSupportedNetworks())
|
||||||
|
rxNetworks.emplace_back(netid);
|
||||||
|
}
|
||||||
|
|
||||||
|
// The supported TX networks are the same as the supported RX networks for this device
|
||||||
|
void setupSupportedTXNetworks(std::vector<Network> &txNetworks) override { setupSupportedRXNetworks(txNetworks); }
|
||||||
|
|
||||||
|
void handleDeviceStatus(const std::shared_ptr<RawMessage> &message) override
|
||||||
|
{
|
||||||
|
if (message->data.size() < sizeof(radgigastar2_status_t))
|
||||||
|
return;
|
||||||
|
std::lock_guard<std::mutex> lk(ioMutex);
|
||||||
|
const radgigastar2_status_t *status = reinterpret_cast<const radgigastar2_status_t *>(message->data.data());
|
||||||
|
ethActivationStatus = status->ethernetActivationLineEnabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::optional<MemoryAddress> getCoreminiStartAddressFlash() const override
|
||||||
|
{
|
||||||
|
return 512 * 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::optional<MemoryAddress> getCoreminiStartAddressSD() const override
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __cplusplus
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -0,0 +1,243 @@
|
||||||
|
#ifndef __RADGIGASTAR2SETTINGS_H_
|
||||||
|
#define __RADGIGASTAR2SETTINGS_H_
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include "icsneo/device/idevicesettings.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
|
||||||
|
namespace icsneo
|
||||||
|
{
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#pragma pack(push, 2)
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
uint32_t ecu_id;
|
||||||
|
uint16_t perf_en;
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
uint16_t hwComLatencyTestEn : 1;
|
||||||
|
uint16_t disableUsbCheckOnBoot : 1;
|
||||||
|
uint16_t reserved : 14;
|
||||||
|
} flags;
|
||||||
|
uint16_t network_enabled_on_boot;
|
||||||
|
CAN_SETTINGS can1;
|
||||||
|
CANFD_SETTINGS canfd1;
|
||||||
|
CAN_SETTINGS can2;
|
||||||
|
CANFD_SETTINGS canfd2;
|
||||||
|
CAN_SETTINGS can3;
|
||||||
|
CANFD_SETTINGS canfd3;
|
||||||
|
CAN_SETTINGS can4;
|
||||||
|
CANFD_SETTINGS canfd4;
|
||||||
|
|
||||||
|
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_1;
|
||||||
|
uint16_t iso_parity_1;
|
||||||
|
uint16_t iso_msg_termination_1;
|
||||||
|
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_2;
|
||||||
|
uint16_t iso_parity_2;
|
||||||
|
uint16_t iso_msg_termination_2;
|
||||||
|
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_3;
|
||||||
|
uint16_t iso_parity_3;
|
||||||
|
uint16_t iso_msg_termination_3;
|
||||||
|
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_4;
|
||||||
|
uint16_t iso_parity_4;
|
||||||
|
uint16_t iso_msg_termination_4;
|
||||||
|
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_5;
|
||||||
|
uint16_t iso_parity_5;
|
||||||
|
uint16_t iso_msg_termination_5;
|
||||||
|
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_6;
|
||||||
|
uint16_t iso_parity_6;
|
||||||
|
uint16_t iso_msg_termination_6;
|
||||||
|
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_7;
|
||||||
|
uint16_t iso_parity_7;
|
||||||
|
uint16_t iso_msg_termination_7;
|
||||||
|
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_8;
|
||||||
|
uint16_t iso_parity_8;
|
||||||
|
uint16_t iso_msg_termination_8;
|
||||||
|
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_9;
|
||||||
|
uint16_t iso_parity_9;
|
||||||
|
uint16_t iso_msg_termination_9;
|
||||||
|
ISO9141_KEYWORD2000_SETTINGS iso9141_kwp_settings_10;
|
||||||
|
uint16_t iso_parity_10;
|
||||||
|
uint16_t iso_msg_termination_10;
|
||||||
|
uint64_t network_enables;
|
||||||
|
uint64_t network_enables_2;
|
||||||
|
uint64_t termination_enables;
|
||||||
|
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings;
|
||||||
|
RAD_REPORTING_SETTINGS reporting;
|
||||||
|
int16_t iso15765_separation_time_offset;
|
||||||
|
uint32_t pwr_man_timeout;
|
||||||
|
uint16_t pwr_man_enable;
|
||||||
|
RAD_GPTP_SETTINGS gPTP;
|
||||||
|
STextAPISettings text_api;
|
||||||
|
DISK_SETTINGS disk;
|
||||||
|
LOGGER_SETTINGS logger;
|
||||||
|
LIN_SETTINGS lin1;
|
||||||
|
LIN_SETTINGS lin2;
|
||||||
|
LIN_SETTINGS lin3;
|
||||||
|
LIN_SETTINGS lin4;
|
||||||
|
LIN_SETTINGS lin5;
|
||||||
|
LIN_SETTINGS lin6;
|
||||||
|
LIN_SETTINGS lin7;
|
||||||
|
LIN_SETTINGS lin8;
|
||||||
|
LIN_SETTINGS lin9;
|
||||||
|
LIN_SETTINGS lin10;
|
||||||
|
// TODO more LIN
|
||||||
|
// Ethernet SFP
|
||||||
|
ETHERNET_SETTINGS2 ethernet1;
|
||||||
|
ETHERNET_SETTINGS2 ethernet2;
|
||||||
|
// Ethernet General
|
||||||
|
OP_ETH_GENERAL_SETTINGS opEthGen;
|
||||||
|
// 100/1000T1
|
||||||
|
ETHERNET_SETTINGS2 ethT1;
|
||||||
|
OP_ETH_SETTINGS opEth1;
|
||||||
|
ETHERNET_SETTINGS2 ethT12;
|
||||||
|
OP_ETH_SETTINGS opEth2;
|
||||||
|
// 10T1S
|
||||||
|
ETHERNET_SETTINGS2 ethT1s1;
|
||||||
|
ETHERNET10T1S_SETTINGS t1s1;
|
||||||
|
ETHERNET10T1S_SETTINGS_EXT t1s1Ext;
|
||||||
|
// 10T1S
|
||||||
|
ETHERNET_SETTINGS2 ethT1s2;
|
||||||
|
ETHERNET10T1S_SETTINGS t1s2;
|
||||||
|
ETHERNET10T1S_SETTINGS_EXT t1s2Ext;
|
||||||
|
// 10T1S
|
||||||
|
ETHERNET_SETTINGS2 ethT1s3;
|
||||||
|
ETHERNET10T1S_SETTINGS t1s3;
|
||||||
|
ETHERNET10T1S_SETTINGS_EXT t1s3Ext;
|
||||||
|
// 10T1S
|
||||||
|
ETHERNET_SETTINGS2 ethT1s4;
|
||||||
|
ETHERNET10T1S_SETTINGS t1s4;
|
||||||
|
ETHERNET10T1S_SETTINGS_EXT t1s4Ext;
|
||||||
|
// 10T1S
|
||||||
|
ETHERNET_SETTINGS2 ethT1s5;
|
||||||
|
ETHERNET10T1S_SETTINGS t1s5;
|
||||||
|
ETHERNET10T1S_SETTINGS_EXT t1s5Ext;
|
||||||
|
// 10T1S
|
||||||
|
ETHERNET_SETTINGS2 ethT1s6;
|
||||||
|
ETHERNET10T1S_SETTINGS t1s6;
|
||||||
|
ETHERNET10T1S_SETTINGS_EXT t1s6Ext;
|
||||||
|
// 10T1S
|
||||||
|
ETHERNET_SETTINGS2 ethT1s7;
|
||||||
|
ETHERNET10T1S_SETTINGS t1s7;
|
||||||
|
ETHERNET10T1S_SETTINGS_EXT t1s7Ext;
|
||||||
|
// 10T1S
|
||||||
|
ETHERNET_SETTINGS2 ethT1s8;
|
||||||
|
ETHERNET10T1S_SETTINGS t1s8;
|
||||||
|
ETHERNET10T1S_SETTINGS_EXT t1s8Ext;
|
||||||
|
} radgigastar2_settings_t;
|
||||||
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
|
||||||
|
static_assert(sizeof(radgigastar2_settings_t) == 2024, "RADGigastar2 settings size mismatch");
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
class RADGigastar2Settings : public IDeviceSettings
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
RADGigastar2Settings(std::shared_ptr<Communication> com) : IDeviceSettings(com, sizeof(radgigastar2_settings_t)) {}
|
||||||
|
const CAN_SETTINGS *getCANSettingsFor(Network net) const override
|
||||||
|
{
|
||||||
|
auto cfg = getStructurePointer<radgigastar2_settings_t>();
|
||||||
|
if (cfg == nullptr)
|
||||||
|
return nullptr;
|
||||||
|
switch (net.getNetID())
|
||||||
|
{
|
||||||
|
case Network::NetID::HSCAN:
|
||||||
|
return &(cfg->can1);
|
||||||
|
case Network::NetID::HSCAN2:
|
||||||
|
return &(cfg->can2);
|
||||||
|
case Network::NetID::HSCAN3:
|
||||||
|
return &(cfg->can3);
|
||||||
|
case Network::NetID::HSCAN4:
|
||||||
|
return &(cfg->can4);
|
||||||
|
default:
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const CANFD_SETTINGS *getCANFDSettingsFor(Network net) const override
|
||||||
|
{
|
||||||
|
auto cfg = getStructurePointer<radgigastar2_settings_t>();
|
||||||
|
if (cfg == nullptr)
|
||||||
|
return nullptr;
|
||||||
|
switch (net.getNetID())
|
||||||
|
{
|
||||||
|
case Network::NetID::HSCAN:
|
||||||
|
return &(cfg->canfd1);
|
||||||
|
case Network::NetID::HSCAN2:
|
||||||
|
return &(cfg->canfd2);
|
||||||
|
case Network::NetID::HSCAN3:
|
||||||
|
return &(cfg->canfd3);
|
||||||
|
case Network::NetID::HSCAN4:
|
||||||
|
return &(cfg->canfd4);
|
||||||
|
default:
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual std::vector<TerminationGroup> getTerminationGroups() const override
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
{Network(Network::NetID::HSCAN)},
|
||||||
|
{Network(Network::NetID::HSCAN2)},
|
||||||
|
{Network(Network::NetID::HSCAN3)},
|
||||||
|
{Network(Network::NetID::HSCAN4)}};
|
||||||
|
}
|
||||||
|
|
||||||
|
const LIN_SETTINGS *getLINSettingsFor(Network net) const override
|
||||||
|
{
|
||||||
|
auto cfg = getStructurePointer<radgigastar2_settings_t>();
|
||||||
|
if (cfg == nullptr)
|
||||||
|
return nullptr;
|
||||||
|
switch (net.getNetID())
|
||||||
|
{
|
||||||
|
case Network::NetID::LIN:
|
||||||
|
return &(cfg->lin1);
|
||||||
|
case Network::NetID::LIN2:
|
||||||
|
return &(cfg->lin2);
|
||||||
|
case Network::NetID::LIN3:
|
||||||
|
return &(cfg->lin3);
|
||||||
|
case Network::NetID::LIN4:
|
||||||
|
return &(cfg->lin4);
|
||||||
|
case Network::NetID::LIN5:
|
||||||
|
return &(cfg->lin5);
|
||||||
|
case Network::NetID::LIN6:
|
||||||
|
return &(cfg->lin6);
|
||||||
|
case Network::NetID::LIN7:
|
||||||
|
return &(cfg->lin7);
|
||||||
|
case Network::NetID::LIN8:
|
||||||
|
return &(cfg->lin8);
|
||||||
|
case Network::NetID::LIN9:
|
||||||
|
return &(cfg->lin9);
|
||||||
|
case Network::NetID::LIN10:
|
||||||
|
return &(cfg->lin10);
|
||||||
|
default:
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
ICSNEO_UNALIGNED(const uint64_t *)
|
||||||
|
getTerminationEnables() const override
|
||||||
|
{
|
||||||
|
auto cfg = getStructurePointer<radgigastar2_settings_t>();
|
||||||
|
if (cfg == nullptr)
|
||||||
|
return nullptr;
|
||||||
|
return &cfg->termination_enables;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
uint8_t unused[3];
|
||||||
|
uint8_t ethernetActivationLineEnabled;
|
||||||
|
} radgigastar2_status_t;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __cplusplus
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
#include "icsneo/device/tree/radepsilon/radepsilon.h"
|
#include "icsneo/device/tree/radepsilon/radepsilon.h"
|
||||||
#include "icsneo/device/tree/radgalaxy/radgalaxy.h"
|
#include "icsneo/device/tree/radgalaxy/radgalaxy.h"
|
||||||
#include "icsneo/device/tree/radgigastar/radgigastar.h"
|
#include "icsneo/device/tree/radgigastar/radgigastar.h"
|
||||||
|
#include "icsneo/device/tree/radgigastar2/radgigastar2.h"
|
||||||
#include "icsneo/device/tree/radjupiter/radjupiter.h"
|
#include "icsneo/device/tree/radjupiter/radjupiter.h"
|
||||||
#include "icsneo/device/tree/radmars/radmars.h"
|
#include "icsneo/device/tree/radmars/radmars.h"
|
||||||
#include "icsneo/device/tree/radmoon2/radmoon2.h"
|
#include "icsneo/device/tree/radmoon2/radmoon2.h"
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
#include "icsneo/device/tree/radepsilon/radepsilon.h"
|
#include "icsneo/device/tree/radepsilon/radepsilon.h"
|
||||||
#include "icsneo/device/tree/radgalaxy/radgalaxy.h"
|
#include "icsneo/device/tree/radgalaxy/radgalaxy.h"
|
||||||
#include "icsneo/device/tree/radgigastar/radgigastar.h"
|
#include "icsneo/device/tree/radgigastar/radgigastar.h"
|
||||||
|
#include "icsneo/device/tree/radgigastar2/radgigastar2.h"
|
||||||
#include "icsneo/device/tree/radjupiter/radjupiter.h"
|
#include "icsneo/device/tree/radjupiter/radjupiter.h"
|
||||||
#include "icsneo/device/tree/radmars/radmars.h"
|
#include "icsneo/device/tree/radmars/radmars.h"
|
||||||
#include "icsneo/device/tree/radmoon2/radmoon2.h"
|
#include "icsneo/device/tree/radmoon2/radmoon2.h"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue