dpharris / OlcbRefresh

Refresh of the Arduino base libs
1 stars 3 forks source link

Status of the project/code? #2

Open TrainzLuvr opened 5 years ago

TrainzLuvr commented 5 years ago

Hi,

What is the current status of the code?

I checked out your dph4 branch (since it seemed the most current) and built the DPH-OlcbBasicNode project on an Arduino Uno with a CAN-BUS Shield, as a proof of concept.

I am not sure what should be happening though?

I thought, while looking at your videos on YouTube with those learning demonstrations from several years back, that this basic node would do something similar. What I get is the Blue led constantly on, Gold blinking, and the two LED/buttons on the first two ports are always on.

Activating any of the buttons does not appear to be doing much. I've double-checked my pin assignments and I'm fairly confident that they are correct, not overlapping with pins already in use.

Granted, I have not tested my node on a real OpenLCB network, but I have plans to do that soon (I bought several RR-CirKits modules for my layout to get my feet wet in LCC). I do see a lot of traffic (congestion) on the CANbus, judging by the solid RX/TX LEDs on my CAN-BUS shield.

Is there some place where I can read about the API requirements, specifically why those methods in AT90can.h (https://github.com/dpharris/OlcbRefresh/blob/dph4/libraries/AT90/AT90can.h) are being used and passed to OLCB? (my txReady() might not be working correctly as I keep getting buffer full).

dpharris commented 5 years ago

Hi -

I am just now getting back to it.

The blue/gold buttons were initially designed to let one choose an event, and then teach a new one to it. They are basically being abandoned, since for boards with more than a dozen events it becomes onerous to set through them, and much easier to use a Tool (JMRI or equiv.)

The blue and gold LEDs are also used for use feedback. They indicate bus activity when idle.

Probably better to email me directly.

David

dpharris commented 5 years ago

Here's the blue gold blinking for activity, in loop():

void loop() {
    bool activity = olcb.process();    // Process system
    #ifdef USE_BG
        if (activity) blue.blink(0x1);  // blink blue when a frame was received
        if (olcb.can_active) { 
            gold.blink(0x1);            // blink gold when a frame sent
            olcb.can_active = false;
        }
        blue.process();      // handle the status lights  
        gold.process();
    #endif
    //produceFromInputs();
}
TrainzLuvr commented 5 years ago

Thanks for the code snippet.

Originally I was able to flash an UNO with one of the examples in your repo, though I wonder what is the bare minimum chip for your library (knowing that OpenLCBmini/Arduino Lite will be something on the level of ESP32).

dpharris commented 5 years ago

The Refresh should suit from Uno with MCP2515 and AT90CANs to ARMs and ESP32. Not aimed at Pis or OSs.

So includes: Teensy, mbed, Nucleos, Tivas, ESP32.

David

On Sun, Mar 3, 2019 at 2:10 PM TrainzLuvr notifications@github.com wrote:

Thanks for the code snippet.

Originally I was able to flash an UNO with one of the examples in your repo, though I wonder what is the bare minimum chip for your library (knowing that OpenLCBmini/Arduino Lite will be something on the level of ESP32).

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/dpharris/OlcbRefresh/issues/2#issuecomment-469070027, or mute the thread https://github.com/notifications/unsubscribe-auth/AAg4SmEA9ob60r8751RnCVw6i74QgXUxks5vTEhHgaJpZM4ZjWw3 .