July 18, 2024, 02:40:52 AM

Recent posts

#61
A20 / A20 board problem if a backup ...
Last post by timharvey - June 30, 2024, 01:48:36 PM
Hello, I use a FreedomBox server using an A20-OlinuXino-LIME2 board. I want to install a backup battery to prevent power outages but cannot boot, the problem occurs when the Led light shows that the power board has power but there is no ethernet activity.

Does anyone know the cause and can anyone who has used a backup battery successfully guide me? Thank.
#62
A20 / A20-SOM with Li-Ion without BM...
Last post by mavstuff - June 29, 2024, 11:48:54 PM
Hi guys!
Can one use Olimex A20-SOM board with bare Li-Ion battery without BMS protection board?
I believe AXP209 onboard controller is kind of BMS protection by itself.
Any thoughts about this? Thank you
#63
FPGA / Re: ILA on GateMateA1-EVB
Last post by lollisoft - June 29, 2024, 05:23:30 PM
I would also pleas know, how to use the GateMate ILA on the Olimex board.

Would it be possible to use an USB FTDI dongle and hook the wires on some expansion port pins instead?
#64
Neo6502 / Re: USB KEYS
Last post by Achimogata - June 28, 2024, 08:44:15 PM
Hi,
I tried several keys and found one that seems to work.
Thanks for your time
#65
ESP32 / Re: ESP32-POE-ISO ethernet sta...
Last post by LubOlimex - June 28, 2024, 08:58:50 AM
Maybe also check here about ordering and delays: https://github.com/espressif/arduino-esp32/issues/9673
#66
ESP32 / Re: ESP32-POE-ISO ethernet sta...
Last post by LubOlimex - June 28, 2024, 08:33:29 AM
It is probably something related to the network equipment settings and subnet basics. Maybe check this thread:

https://www.olimex.com/forum/index.php?topic=7158.0
#67
ESP32 / ESP32-POE-ISO ethernet static ...
Last post by kovbal - June 27, 2024, 05:01:26 PM
Dear Forum members,

I'm facing an issue, where ethernet static addressing is working in micropython, but not working with arduino-ide. (Arduino ide 2.3.2, esp32 by espressif 3.0.1)

Tried with variables, tried with fixed ip settings, none works. Please advise!

Thanks,
Balazs

the code:


#define ETH_ADDR 0
#define ETH_TYPE ETH_PHY_LAN8720
#define ETH_POWER 12
#define ETH_MDC 23
#define ETH_MDIO 18
#define ETH_CLK ETH_CLOCK_GPIO17_OUT

#include <ETH.h>
#include <SD_MMC.h>
#include <SPI.h>
#include <Ethernet.h>

// Function to read configuration file
bool readConfig(String &ethIP, String &netmask, String &gateway, String &dns, String &atemIP, int &pin1, int &pin2, int &pin3, int &pin4) {
    if (!SD_MMC.begin("/sdcard", true)) {
        Serial.println("SD card initialization failed!");
        return false;
    }

    File configFile = SD_MMC.open("/config.txt");
   
    if (!configFile) {
        Serial.println("Failed to open config file");
        return false;
    }

    while (configFile.available()) {
        String line = configFile.readStringUntil('\n');
        line.trim();
        if (line.startsWith("[ethernet]")) {
            while (configFile.available()) {
                line = configFile.readStringUntil('\n');
                line.trim();
                if (line.startsWith("[")) break;
                if (line.startsWith("ip:")) ethIP = line.substring(3).c_str();
                else if (line.startsWith("netmask:")) netmask = line.substring(8).c_str();
                else if (line.startsWith("gateway:")) gateway = line.substring(8).c_str();
                else if (line.startsWith("dns:")) dns = line.substring(4).c_str();
            }
        } else if (line.startsWith("[atem]")) {
            while (configFile.available()) {
                line = configFile.readStringUntil('\n');
                line.trim();
                if (line.startsWith("[")) break;
                if (line.startsWith("mixer:")) atemIP = line.substring(3).c_str();
                else if (line.startsWith("pin1:")) pin1 = line.substring(5).toInt();
                else if (line.startsWith("pin2:")) pin2 = line.substring(5).toInt();
                else if (line.startsWith("pin3:")) pin3 = line.substring(5).toInt();
                else if (line.startsWith("pin4:")) pin4 = line.substring(5).toInt();
            }
        }
    }
    Serial.print("ETH IP:");
    Serial.println(ethIP);
    Serial.print("Netmask:");
    Serial.println(netmask);
    Serial.print("GW:");
    Serial.println(gateway);
    Serial.print("ATEM IP:");
    Serial.println(atemIP);
    configFile.close();
    return true;
}

// Ethernet and ATEM configuration variables
String ethIP, netmask, gateway, dns, atemIP;
int pin1, pin2, pin3, pin4;
void setup() {
    Serial.begin(115200);

    // Read configuration from file
    if (!readConfig(ethIP, netmask, gateway, dns, atemIP, pin1, pin2, pin3, pin4)) {
        Serial.println("Failed to read configuration");
        return;
    }

    // Convert String IPs to IPAddress
    IPAddress localIP, subnet, gw, dnsServer, atemIPAddress;
    localIP.fromString(ethIP.c_str());
    subnet.fromString(netmask.c_str());
    gw.fromString(gateway.c_str());
    dnsServer.fromString(dns.c_str());
    atemIPAddress.fromString(atemIP.c_str());
    //Serial.println(ethIP);
    // Start Ethernet connection
    ETH.setHostname("kovbaltally");
    //ETH.config(localIP, gw, subnet, dnsServer);
   
    ETH.begin(ETH_TYPE, ETH_ADDR,ETH_MDC,ETH_MDIO,ETH_POWER,ETH_CLK);
    while (!ETH.linkUp()) {
        delay(1000);
        Serial.println("Waiting for Ethernet connection...");
    }
    if (!ETH.config((192,168,80,10),(192,168,80,1),(255,255,255,0),(8,8,8,8),(8,8,4,4),(1,1,1,1)))
   {
       Serial.println("Configuration Failed!");
   }

    Serial.print("ETH MAC: ");
    Serial.println(ETH.macAddress());
    Serial.print("Ethernet connected with IP: ");
    Serial.println(ETH.localIP());

}

void loop() {
   
    delay(2000);
    Serial.println("Running loop");

}
#68
A10 / Re: Missing file operations du...
Last post by LubOlimex - June 26, 2024, 11:42:35 AM
It is not good idea to power down these boards suddenly without extra measures taken for the Linux. That might lead to file system corruption. There was an old article here:

https://www.embeddedts.com/assets/preventing-filesystem-corruption-in-embedded-linux

It is best idea to always have Li-Po battery and perform a software shutdown when main power supply goes missing or Li-Po gets discharged enough.
#69
A10 / Re: Missing file operations du...
Last post by Navaneeth - June 26, 2024, 11:04:25 AM
Power recylce => Power down and then power on.
Yes removing the power suddenly.

dirty_writeback_centisecs
dirty_expire_centisecs

these two settings are ment to update the file system of different changes happend.
It doesn't work in the bullseye version. It doesn't work in A10 & A20.
It is OS releated issue.. Need to be addressed.
#70
NXP / Re: IMX8MP board support..?
Last post by LubOlimex - June 25, 2024, 04:54:15 PM
Images can be found at the FTP and build instructions and sources are available at the GitHub:

https://github.com/OLIMEX/buildroot-imx