RADMoon2: Enable communication for MDIO

pull/73/head
Yasser Yassine 2025-02-26 02:40:01 +00:00 committed by Kyle Schwarz
parent 759cb2436d
commit ea5f11268c
3 changed files with 14 additions and 24 deletions

View File

@ -848,6 +848,13 @@ protected:
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:
neodevice_t data;
std::shared_ptr<ResetStatusMessage> latestResetStatus;
@ -876,14 +883,6 @@ private:
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;
moodycamel::BlockingConcurrentQueue<std::shared_ptr<Message>> pollingContainer;
void enforcePollingMessageLimit();

View File

@ -48,24 +48,19 @@ public:
return Device::getProductName();
}
// RADMoon 2 does not go online, you can only set settings and
// view PHY information (when supported)
bool goOnline() override {
report(APIEvent::Type::OnlineNotSupported, APIEvent::Severity::Error);
if(!com->sendCommand(Command::EnableNetworkCommunication, true))
return false;
}
bool goOffline() override {
report(APIEvent::Type::OnlineNotSupported, APIEvent::Severity::Error);
return false;
updateLEDState();
online = true;
return true;
}
bool getEthPhyRegControlSupported() const override { return true; }
virtual uint8_t getPhyAddrOrPort() const = 0;
bool isOnlineSupported() const override { return false; }
protected:
using Device::Device;

View File

@ -27,11 +27,7 @@ typedef struct {
uint16_t pc_com_mode;
TIMESYNC_ICSHARDWARE_SETTINGS timeSyncSettings;
uint16_t hwComLatencyTestEn;
struct
{
uint16_t enableLatencyTest : 1;
uint16_t reserved : 15;
} flags;
RAD_GPTP_SETTINGS gPTP;
uint64_t network_enables_5;