RADMoon2: Enable communication for MDIO
parent
759cb2436d
commit
ea5f11268c
|
|
@ -848,6 +848,13 @@ protected:
|
||||||
|
|
||||||
neodevice_t& getWritableNeoDevice() { return data; }
|
neodevice_t& getWritableNeoDevice() { return data; }
|
||||||
|
|
||||||
|
enum class LEDState : uint8_t {
|
||||||
|
Offline = 0x04,
|
||||||
|
CoreMiniRunning = 0x08, // This should override "offline" if the CoreMini is running
|
||||||
|
Online = 0x10
|
||||||
|
};
|
||||||
|
LEDState ledState;
|
||||||
|
void updateLEDState();
|
||||||
private:
|
private:
|
||||||
neodevice_t data;
|
neodevice_t data;
|
||||||
std::shared_ptr<ResetStatusMessage> latestResetStatus;
|
std::shared_ptr<ResetStatusMessage> latestResetStatus;
|
||||||
|
|
@ -876,14 +883,6 @@ private:
|
||||||
|
|
||||||
APIEvent::Type getCommunicationNotEstablishedError();
|
APIEvent::Type getCommunicationNotEstablishedError();
|
||||||
|
|
||||||
enum class LEDState : uint8_t {
|
|
||||||
Offline = 0x04,
|
|
||||||
CoreMiniRunning = 0x08, // This should override "offline" if the CoreMini is running
|
|
||||||
Online = 0x10
|
|
||||||
};
|
|
||||||
LEDState ledState;
|
|
||||||
void updateLEDState();
|
|
||||||
|
|
||||||
size_t pollingMessageLimit = 20000;
|
size_t pollingMessageLimit = 20000;
|
||||||
moodycamel::BlockingConcurrentQueue<std::shared_ptr<Message>> pollingContainer;
|
moodycamel::BlockingConcurrentQueue<std::shared_ptr<Message>> pollingContainer;
|
||||||
void enforcePollingMessageLimit();
|
void enforcePollingMessageLimit();
|
||||||
|
|
|
||||||
|
|
@ -48,24 +48,19 @@ public:
|
||||||
return Device::getProductName();
|
return Device::getProductName();
|
||||||
}
|
}
|
||||||
|
|
||||||
// RADMoon 2 does not go online, you can only set settings and
|
|
||||||
// view PHY information (when supported)
|
|
||||||
bool goOnline() override {
|
bool goOnline() override {
|
||||||
report(APIEvent::Type::OnlineNotSupported, APIEvent::Severity::Error);
|
if(!com->sendCommand(Command::EnableNetworkCommunication, true))
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
|
updateLEDState();
|
||||||
bool goOffline() override {
|
online = true;
|
||||||
report(APIEvent::Type::OnlineNotSupported, APIEvent::Severity::Error);
|
return true;
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool getEthPhyRegControlSupported() const override { return true; }
|
bool getEthPhyRegControlSupported() const override { return true; }
|
||||||
|
|
||||||
virtual uint8_t getPhyAddrOrPort() const = 0;
|
virtual uint8_t getPhyAddrOrPort() const = 0;
|
||||||
|
|
||||||
bool isOnlineSupported() const override { return false; }
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
using Device::Device;
|
using Device::Device;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,11 +27,7 @@ typedef struct {
|
||||||
uint16_t pc_com_mode;
|
uint16_t pc_com_mode;
|
||||||
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings;
|
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings;
|
||||||
uint16_t hwComLatencyTestEn;
|
uint16_t hwComLatencyTestEn;
|
||||||
struct
|
|
||||||
{
|
|
||||||
uint16_t enableLatencyTest : 1;
|
|
||||||
uint16_t reserved : 15;
|
|
||||||
} flags;
|
|
||||||
RAD_GPTP_SETTINGS gPTP;
|
RAD_GPTP_SETTINGS gPTP;
|
||||||
uint64_t network_enables_5;
|
uint64_t network_enables_5;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue