Bestand naar C, C++ variable converten.

Om een bestand als variable in C of C++ te gebruiken kun je de tool xxd gebruiken.
xxd is standaard aanwezig op de meeste linux Mint machines.

cellie@cellie-Mint-64 ~ $ echo Hello World\! > temp
cellie@cellie-Mint-64 ~ $ xxd -i temp
unsigned char temp[] = {
0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21,
0x0a
};
unsigned int temp_len = 13;

Om de variable niet in RAM maar in ROM terecht te laten komen verander je de code als volgt:

const char temp[] = {
0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21,
0x0a
};
const int temp_len = 13;

De link:

Natuurlijk niet zelf bedacht maar gevonden op stackoverflow.

Arduino IDE 1.8.1 setup voor ESP8266

Het probleem

De ‘Get started‘ aanwijzingen voor de WeMos D1 mini op de WeMos site werken niet voor Cellie.
De linker geeft vage foutmeldingen en er komt geen executable tevoorschijn.
Het lijkt dat de aanwijzingen toegespitst zijn op de nieuwe revisie met 16MB flash geheugen.
De linker lijkt te klagen over onvoldoende geheugen blablah…
Anyway,

De oplossing

  1. Installeer de Arduino IDE.
  2. Ga naar File>Preferences en in het veld ‘Additional Boards Manager URLs:‘ voer  de volgende URL in:
    http://arduino.esp8266.com/stable/package_esp8266com_index.json
    en druk op ‘OK‘.
  3. Restart de Arduino IDE.

Should work now.

de links:

https://github.com/esp8266/Arduino#installing-with-boards-manager

Arduino: /dev/ttyUSBx niet benaderbaar.

Vandaag gaf de Arduino IDE (1.8.1) hardnekkig de volgende foutmelding bij elke upload:

warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed

Als deze foutmelding het plezier met de Arduino IDE verpest ben je waarschijnlijk een non-root gebruiker. Die hebben standaard geen toegang tot de seriële poort.

Lossen we op door de gebruiker aan de group dialout toe te voegen:

sudo usermod -a -G dialout username

Reboot de machine en het zou nu moeten werken.

AquaControl GitHub.

Nu het allemaal wat uit de hand begint te lopen gaan we nog een bord erbij hoog proberen te houden.
De versie controle voert met de ad-hoc benadering van Cellie tot onverwachte en ongewenste vergissingen.
De AquaControl ontwikkeling zal daarom de komende tijd naar Github verhuizen.

Cellie’s GitHub.

AquaControl.

Als Cellie de in en outs kent zal het vast allemaal makkelijker zijn.
Zucht.