Hauptmenü

culfw@ARM

Begonnen von Telekatz, 22 Juni 2015, 22:42:29

Vorheriges Thema - Nächstes Thema

mahowi

Seitdem ich wieder von Testung auf Jessie umgestiegen bin lässt sich a-culfw nicht mehr kompilieren auf dem Pi:
make: Entering directory '/usr/local/src/a-culfw/culfw/Devices/CUBe'
make OUTPUT=CUBE_BL target
make[1]: Entering directory '/usr/local/src/a-culfw/culfw/Devices/CUBe'
arm-none-eabi-gcc -g -Os -fno-isolate-erroneous-paths-dereference -I. -I../../at91lib -D__ASSEMBLY__ -Dflash -c -o ../../at91lib/board_cstartup.o ../../at91lib/board_cstartup.S
arm-none-eabi-gcc: error: unrecognized command line option '-fno-isolate-erroneous-paths-dereference'
Makefile:121: recipe for target '../../at91lib/board_cstartup.o' failed
make[1]: *** [../../at91lib/board_cstartup.o] Error 1
make[1]: Leaving directory '/usr/local/src/a-culfw/culfw/Devices/CUBe'
Makefile:96: recipe for target 'CUBE_BL' failed
make: *** [CUBE_BL] Error 2
make: Leaving directory '/usr/local/src/a-culfw/culfw/Devices/CUBe'


arm-none-eabi-gcc ist Version 4.8.4. Benötige ich eine andere Version? Ich konnte zu '-fno-isolate-erroneous-paths-dereference' nichts im Netz finden.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

Telekatz

Zitat von: Telekatz am 27 November 2016, 19:08:03
Zur Info für diejenigen, die die Firmware selbst compilieren:

Mit der letzten Version kam die Unterstützung für STM32 Controller hinzu. Dabei habe ich auch auf eine aktuelle Version der ARM Toolchain umgestellt. Aktuell sollte diese Version verwendet werden: https://launchpad.net/gcc-arm-embedded/5.0/5-2016-q3-update.

Die Option '-fno-isolate-erroneous-paths-dereference' kam mit 4.9 hinzu.

mahowi

Danke! Das erklärt auch, warum es unter Testing noch funktioniert hat. Da ist ein 4.9er GCC dabei.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

iceweasel3000

#663
Danke Telekatz

Mit der neusten Firmware (a-culfw_1.23.05_build_132 )funktioniert der Nativ Mode wieder.

2016.12.29 11:20:27 5: SW: Nr1
2016.12.29 11:20:27 5: CUL/RAW: /01

2016.12.29 11:20:27 4: CUL_Parse: CUL868 01
2016.12.29 11:20:27 2: CUL868: unknown message 01
2016.12.29 11:20:31 5: CUL/RAW: /N0196A6332D9CAAAA0000321479

Edi77

#664
Hallo,

Ich hätte zu dem Thema mal eine Frage.
Ich habe jetzt 5x MAX Heizkörperthermostat Basic.
Wenn die den MAX CUBE zum CUL umflashe ist er ja eigentlich wie ein CUL/CUNO.
Unterstützt er dann nur das MAX System, oder kann ich ihn auch auf andere Systeme wie Homematic, FS20 usw. konfigurieren?
Wenn ich mich richtig erinnere kann ich pro CUL/CUNO nur 1 System konfigurieren?

Eine andere Idee war das ich einen alten RPI1 + COC  konfigurieren und mit FHEM2FHEM verknüpfe.
Aber dann kann ich vom Master Fhem Server (Ubuntu) nicht via FHEM2FHEM über den RPI 1 Daten senden?
Oder sit hier eine Lösung mit ser2net besser und stabiler?

Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

alangward

Hi,
I'm sorry, but I don't speak German.
I hope somebody has the patience to answer in English!

I have just reflashed my CUBE with the CUL firmware (latest version).
It works - I can give it commands over the USB connection using Tera Term and it replies with the correct version information.

I had hoped that I could connect it using Ethernet, but that doesn't seem to work.
Looking at the board.h file the Ethernet options are commented out.

Am I right in assuming that Ethernet is not supported?
If so, are there any plans to support it?
Are there any fundamental problems that prevent Ethernet being supported?

Thanks,
Alan

alangward

Hi,
I'm sorry, but I don't speak German.
I hope somebody has the patience to answer in English!

I have just reflashed my CUBE with the CUL firmware (latest version).
It works - I can give it commands over the USB connection using Tera Term and it replies with the correct version information.

I had hoped that I could connect it using Ethernet, but that doesn't seem to work.
Looking at the board.h file the Ethernet options are commented out.

Am I right in assuming that Ethernet is not supported?
If so, are there any plans to support it?
Are there any fundamental problems that prevent Ethernet being supported?

Thanks,
Alan

alangward

Hi,
Ignore my question.
I have now got it connected over Ethernet.
It just needed re-booting.

Thanks,
Alan

malc_b

Hi,
(sorry this is in english)

I'm trying to build a-culfw from source but I can't get it to work, perhaps someone could point out where I'm going wrong.

I tried running in win7 but that seemed to have so many issues I gave up on that and tried on my raspberry pi.  apt-get only installs gcc-arm tool 4.8 so I've had to install 5_2-2015q4 from the tar.  I put that in a ~/tools directory rather than clutter /usr etc..  I've edited the makefile in CUBe directory but when I run make from that directory (as root) I get this:


make OUTPUT=CUBE_BL target
make[1]: Entering directory '/root/a-culfw-master/culfw/Devices/CUBe'
~/tools/gcc-arm-none-eabi-5_2-2015q4/bin/arm-none-eabi-gcc -mcpu=arm7tdmi-s -Wall -Wno-strict-aliasing -Wno-unused-but-set-variable -mlong-calls -ffunction-sections -std=c99 -Dflash -DCUBE_BL -DTRACE_LEVEL=4 -DDBGU_UNIT_IN -g -MMD -MP -MF .dep/main.o.d -Os -fno-isolate-erroneous-paths-dereference -I. -I../.. -I../../at91lib -I../../at91lib/usb -I../../clib -I../../at91lib/avr -I../../avr-uip/uip -I../../avr-uip -I~/tools/gcc-arm-none-eabi-5_2-2015q4/arm-none-eabi/include  -c -o main.o main.c
/root/tools/gcc-arm-none-eabi-5_2-2015q4/bin/arm-none-eabi-gcc: 1: /root/tools/gcc-arm-none-eabi-5_2-2015q4/bin/arm-none-eabi-gcc: Syntax error: word unexpected (expecting ")")
Makefile:124: recipe for target 'main.o' failed
make[1]: *** [main.o] Error 2
make[1]: Leaving directory '/root/a-culfw-master/culfw/Devices/CUBe'
Makefile:96: recipe for target 'CUBE_BL' failed


the makefile changes are


ARMBASE = D:/a-culfw-master/gcc-arm-none-eabi-win32

INCLUDEPATH = $(ARMBASE)/arm-none-eabi/include
LIBPATH = $(ARMBASE)/arm-none-eabi/lib
ARMPATH = $(ARMBASE)/bin
TOOLPREFIX = /arm-none-eabi-
#OPENOCDPATH = F:\Tools\OpenOCD
#OPENOCD = $(OPENOCDPATH)\openocd.exe -f $(OPENOCDPATH)\target\sam7x256.cfg -f $(OPENOCDPATH)\interface\uniprog.cfg



TIA

Telekatz

I asssume, that the binaries in the tar are compiled for x86 and doesn't run on a pi.

If you want to compile the Firmware wit 4.8, you have to remove the -fno-isolate-erroneous-paths-dereference parameter in the OPTFLAGS.

malc_b

DOH!  Of course.  I was just looking at the linux and not the processor (which isn't mentioned otherwise I might have realized that).  I'll try 4.8

chapelhill

This was my post on how I managed to get to compile with Windows.

https://forum.fhem.de/index.php/topic,38404.msg544992.html#msg544992

I was struggling to get the pi to compile with my lack of experience.

SaDa

#672
Hallo zusammen,

Zunächst mal allen hier ein gesundes und erfolgreiches 2017!

Ich bin neu hier und habe erfolgreich die alternative FW von Telekatz installiert. Vielen Dank an dieser Stelle für die geleistete Arbeit!!!

Da ich nicht regelmäßig nach neuen Versionen schauen kann und will, habe ich mir ein kleines Helferchen gebaut, das einmal pro Tag nach Updates sucht.

Die fhem.cfg habe ich wie folgt erweitert:


define CULFW_Version dummy
define aCULFW_Version dummy
define versionInfo readingsGroup <%cul_cul>,<aktuelle Version>,<neueste Version> \
CULFW_Version:current,latest \
aCULFW_Version:current,latest
attr versionInfo valueStyle {if($READING eq "latest"){my $t=$VALUE;;my $d=ReadingsVal($DEVICE,'current',0);;if($t ne $d){'style="color:rgb(251,63,11);;"'}}}
attr versionInfo group Versionsinfos


Die 99_myUtils.pm wurde um den nachfolgenden Code ergänzt:


sub checkCulFwVersions($) {
my ($hash) = @_;
####################################################################
# standard CUL firmware version
####################################################################
my $changeLogUrl = "http://culfw.de/CHANGED";
my $response = get( $changeLogUrl );
if (defined $response) {
my $latestCulFirmwareVersion = ( split /\n/, $response )[0];
$latestCulFirmwareVersion =~ /Version\s+(.*?)\s+\(.*?\)/;
$latestCulFirmwareVersion = $1;
fhem("setreading CULFW_Version latest $latestCulFirmwareVersion");
}
####################################################################
# MAX!Cube CUL alternative firmware version (@see http://bit.ly/2i3NE81)
####################################################################
my $aculfw_url = "http://bit.ly/2iCgKyH";
my $aculfw_response = get( $aculfw_url );
if (defined $aculfw_response) {
my $aculfw_list = JSON->new->ascii->decode($aculfw_response);
my $list = $aculfw_list->{'response'}->{'folder_content'}->{'files'};
my $aculfw_entrycount = scalar(@{ $list });
if ($aculfw_entrycount > 0) {
my $aculfw_entry = $list->[-1];
my $aCulFwVersion = $aculfw_entry->{'filename'};
$aCulFwVersion =~ /a-culfw_(.*?).zip/;
$aCulFwVersion = $1;
$aCulFwVersion =~ tr/_/ /;
fhem("setreading aCULFW_Version latest $aCulFwVersion");
}
}
RemoveInternalTimer( $hash );
my $interval = 60*60*24;
InternalTimer(gettimeofday() + $interval, "checkCulFwVersions", $hash, 1 );
}


Das Ergebnis kann man hier betrachten.

Vielleicht hilft's ja dem ein oder anderen...

Viele Grüße
Daniel

Bennemannc

Hallo,

nach dem ich es geschafft habe, den CUBe zu flashen, läuft er über USB mit /dev/ttyACM0@38400 0000 sofort. Was muss ich machen, um dem ins Netzwerk einzubinden - die IP habe ich, aber welche Port ? Oder brauche ich keinen?
Wäre nett, wenn mir mal jemand auf die Sprünge helfen könnte.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF