mirror of
https://github.com/intrepidcs/libicsneo.git
synced 2026-08-05 01:18:36 +02:00
Device: Fix coremini loading
For: - RADA2B - RADComet2 - RADComet3 - RADGalaxy2 - RADMoonT1S - RADStar2
This commit is contained in:
committed by
Kyle Schwarz
parent
8af6d5f2a8
commit
749552e443
+17
-14
@@ -737,15 +737,17 @@ bool Device::uploadCoremini(std::istream& stream, Disk::MemoryType memType) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto connected = isLogicalDiskConnected();
|
if (memType == Disk::MemoryType::SD) {
|
||||||
|
auto connected = isLogicalDiskConnected();
|
||||||
if(!connected) {
|
|
||||||
return false; // Already added an API error
|
if(!connected) {
|
||||||
}
|
return false; // Already added an API error
|
||||||
|
}
|
||||||
if(!(*connected)) {
|
|
||||||
report(APIEvent::Type::DiskNotConnected, APIEvent::Severity::Error);
|
if(!(*connected)) {
|
||||||
return false;
|
report(APIEvent::Type::DiskNotConnected, APIEvent::Severity::Error);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!stopScript()) {
|
if(!stopScript()) {
|
||||||
@@ -756,7 +758,6 @@ bool Device::uploadCoremini(std::istream& stream, Disk::MemoryType memType) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(!eraseScriptMemory(memType, static_cast<uint64_t>(bin.size()))) {
|
if(!eraseScriptMemory(memType, static_cast<uint64_t>(bin.size()))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -846,10 +847,12 @@ std::optional<CoreminiHeader> Device::readCoreminiHeader(Disk::MemoryType memTyp
|
|||||||
return std::nullopt;
|
return std::nullopt;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto connected = isLogicalDiskConnected();
|
if (memType == Disk::MemoryType::SD) {
|
||||||
|
auto connected = isLogicalDiskConnected();
|
||||||
if(!connected) {
|
|
||||||
return std::nullopt; // Already added an API error
|
if(!connected) {
|
||||||
|
return std::nullopt; // Already added an API error
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma pack(push, 2)
|
#pragma pack(push, 2)
|
||||||
|
|||||||
@@ -96,10 +96,6 @@ protected:
|
|||||||
return 15*1024*1024;
|
return 15*1024*1024;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<MemoryAddress> getCoreminiStartAddressSD() const override {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
RADComet2(neodevice_t neodevice, const driver_factory_t& makeDriver) : Device(neodevice) {
|
RADComet2(neodevice_t neodevice, const driver_factory_t& makeDriver) : Device(neodevice) {
|
||||||
initialize<RADComet2Settings>(makeDriver);
|
initialize<RADComet2Settings, Disk::NeoMemoryDiskDriver, Disk::NeoMemoryDiskDriver>(makeDriver);
|
||||||
}
|
}
|
||||||
|
|
||||||
void setupPacketizer(Packetizer& packetizer) override {
|
void setupPacketizer(Packetizer& packetizer) override {
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
RADComet3(neodevice_t neodevice, const driver_factory_t& makeDriver) : Device(neodevice) {
|
RADComet3(neodevice_t neodevice, const driver_factory_t& makeDriver) : Device(neodevice) {
|
||||||
initialize<RADComet3Settings>(makeDriver);
|
initialize<RADComet3Settings, Disk::NeoMemoryDiskDriver, Disk::NeoMemoryDiskDriver>(makeDriver);
|
||||||
}
|
}
|
||||||
|
|
||||||
void setupPacketizer(Packetizer& packetizer) override {
|
void setupPacketizer(Packetizer& packetizer) override {
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::optional<MemoryAddress> getCoreminiStartAddressFlash() const override {
|
std::optional<MemoryAddress> getCoreminiStartAddressFlash() const override {
|
||||||
return 512*4;
|
return 92*1024*1024;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<MemoryAddress> getCoreminiStartAddressSD() const override {
|
std::optional<MemoryAddress> getCoreminiStartAddressSD() const override {
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public:
|
|||||||
}
|
}
|
||||||
protected:
|
protected:
|
||||||
RADMoonT1S(neodevice_t neodevice, const driver_factory_t& makeDriver) : Device(neodevice) {
|
RADMoonT1S(neodevice_t neodevice, const driver_factory_t& makeDriver) : Device(neodevice) {
|
||||||
initialize<RADMoonT1SSettings>(makeDriver);
|
initialize<RADMoonT1SSettings, Disk::NeoMemoryDiskDriver, Disk::NeoMemoryDiskDriver>(makeDriver);
|
||||||
}
|
}
|
||||||
|
|
||||||
void setupPacketizer(Packetizer& packetizer) override {
|
void setupPacketizer(Packetizer& packetizer) override {
|
||||||
@@ -83,6 +83,10 @@ protected:
|
|||||||
void setupSupportedTXNetworks(std::vector<Network>& txNetworks) override {
|
void setupSupportedTXNetworks(std::vector<Network>& txNetworks) override {
|
||||||
setupSupportedRXNetworks(txNetworks);
|
setupSupportedRXNetworks(txNetworks);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::optional<MemoryAddress> getCoreminiStartAddressFlash() const override {
|
||||||
|
return 32*1024*1024;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ public:
|
|||||||
}
|
}
|
||||||
protected:
|
protected:
|
||||||
RADStar2(neodevice_t neodevice, const driver_factory_t& makeDriver) : Device(neodevice) {
|
RADStar2(neodevice_t neodevice, const driver_factory_t& makeDriver) : Device(neodevice) {
|
||||||
initialize<RADStar2Settings>(makeDriver);
|
initialize<RADStar2Settings, Disk::NeoMemoryDiskDriver, Disk::NeoMemoryDiskDriver>(makeDriver);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void setupPacketizer(Packetizer& packetizer) override {
|
virtual void setupPacketizer(Packetizer& packetizer) override {
|
||||||
@@ -80,11 +80,7 @@ protected:
|
|||||||
void setupSupportedTXNetworks(std::vector<Network>& txNetworks) override { setupSupportedRXNetworks(txNetworks); }
|
void setupSupportedTXNetworks(std::vector<Network>& txNetworks) override { setupSupportedRXNetworks(txNetworks); }
|
||||||
|
|
||||||
std::optional<MemoryAddress> getCoreminiStartAddressFlash() const override {
|
std::optional<MemoryAddress> getCoreminiStartAddressFlash() const override {
|
||||||
return 512*4;
|
return 14*1024*1024;
|
||||||
}
|
|
||||||
|
|
||||||
std::optional<MemoryAddress> getCoreminiStartAddressSD() const override {
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool supportsGetAllMACAddresses() const override {
|
bool supportsGetAllMACAddresses() const override {
|
||||||
|
|||||||
Reference in New Issue
Block a user