EV-100 not found on ng network
thomasnisole opened this issue · 8 comments
Hello @AK-Homberger ,
I reproduced your remote system for my Pilot (ACU 200 / EV-100 / P70) on my boat, but i have some trouble with the search of the EV-100. When the ESP32 is connected on the bus, it don't find any EV-100 system.
To get as close as possible to the final assembly and avoid any disturbance, I do not use the USB output of the ESP32, I have installed different colored LEDs on the outputs of the ESP32 in order to know when the sketch has a problem.
Do you have any idea where it could be coming from. I take some picture of P70 diagnostic tool, here data from EV-100 :
Thank you for your reply.
Thomas.
Hi Thomas,
Is the ESP32 shown in the device list in the MFD? If not then there is a problem with your program or with the hardware.
Can you share your modified program. Then I will have a look.
Regards,
Andreas
Hi @AK-Homberger ,
Yes my code is in a github repository, i forked yours to save my remote buttons values :)
Et pour répondre à ta question, non mon ESP32 n'est pas visible dans la liste MFD du P70. For CAN interface, i use this shield.
I cut R2 to have 60ohms between L and H when device is connected to NG CAN. I can take a picture of my wiring if you want.
Thank you.
Hi Thomas,
That will not work. You can't use a delay() in the below function:
void messageSent() {
digitalWrite(MESSAGE_SENDET_PIN, HIGH);
delay(1000);
digitalWrite(MESSAGE_SENDET_PIN, LOW);
}
It will block the whole processing. First try without a dalay and the if ot is working do the delay with a millis() construction.
Regards,
Andreas
Hi @AK-Homberger ,
I removed usage of delay function in loop scope, but P70 does not found ESP32 in diagnostic tool.
Thank you.
Then it's probably a problem with the hardware. Did you check if the program is running ata all?
E.g. with additional Serial.print() statements in setup()?
Hi @AK-Homberger ,
Last night I added a log at the very beginning of the function getDeviceSourceAddress
, and I never go through the for loop, I exit with the return -1.
Here is the stack trace :
rst:0x1 (POWERON_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6388
entry 0x400806b4
NodeAddress=34
NMEA2000 Open
getDeviceSourceAddress
getDeviceSourceAddress
...
getDeviceSourceAddress() has to exit with the address of the found device. Perhaps Raymarine changed the model string from "EV-1" to "EV-1 Course Computer".
Please add a Serial output to the getDeviceSourceAddress() function to get all found device names:
...
String modelVersion = device->GetModelVersion();
Serial.println(modelVersion);
...
Hello @AK-Homberger ,
I finally bought the same component which you used, and good news, it's working !! I can see the remote controller into p70 diagnostic tool !
Thank you so much for your work, i will go to update your Kicad files to add some screw hole to add a step down voltage like this one to fix it above your D24V10F5 (I can't find it in fast delivery from France).
Thank you for your help !
Thomas.