Forum Rule: Always post complete source code & details to reproduce any issue!

Search:

Type: Posts; User: tonton81

Page 1 of 10 1 2 3 4

Search: Search took 0.03 seconds.

  1. Thread: SPISlave_T4

    by tonton81
    Replies
    87
    Views
    6,369

    it all depends on how long your interrupts are,...

    it all depends on how long your interrupts are, and the speeds of the SPI obviously especially when pushing data. if the slave interrupt is not ready to receive because of another interrupt you may...
  2. Thread: SPISlave_T4

    by tonton81
    Replies
    87
    Views
    6,369

    this library setups only one LPSPI as slave. Even...

    this library setups only one LPSPI as slave. Even if you managed to setup 2 or more slave on LPSPI you'd need to be able to manage the 2 ports simuletaneously, and if interrupts are involved, good...
  3. Thread: SPISlave_T4

    by tonton81
    Replies
    87
    Views
    6,369

    that wouldnt be possible, u cant have 2 masters...

    that wouldnt be possible, u cant have 2 masters talking to one slave,
  4. Thread: SPISlave_T4

    by tonton81
    Replies
    87
    Views
    6,369

    2 slaves? use 1 or 2 SPI ports on master should...

    2 slaves? use 1 or 2 SPI ports on master should work, the slave is fixed only to one bus
  5. Thread: SPISlave_T4

    by tonton81
    Replies
    87
    Views
    6,369

    its one byte/word at a time, not grouped. if you...

    its one byte/word at a time, not grouped. if you want the slave to send more data you need to basically send dummy bytes/words to push the data out of the slave, so you need to handle that as needed
  6. Thread: SPISlave_T4

    by tonton81
    Replies
    87
    Views
    6,369

    yes but the master end *should* work on any other...

    yes but the master end *should* work on any other arduinos, you'd have to test as it uses the standard SPI library for master. The slave end is only working for the Teensy 3.x/LC/T4.x end. The patch...
  7. Thread: SPISlave_T4

    by tonton81
    Replies
    87
    Views
    6,369

    SPI_MSTransfer_T4 is a 2-way daisy-chainable data...

    SPI_MSTransfer_T4 is a 2-way daisy-chainable data transfer utility. It includes the slave and master headers and source files, with simple examples.

    if you prefer to keep a teensy4.x as master...
  8. Thread: SPISlave_T4

    by tonton81
    Replies
    87
    Views
    6,369

    if you are using a T4.x master there is a slight...

    if you are using a T4.x master there is a slight bug in the DSE gpio bits, which is fixed in SPI_MSTransfer_T4. Other master controllers don't seem to have this issue. Also for your common ground...
  9. Replies
    1,044
    Views
    173,167

    what i always do (my own preference of course) is...

    what i always do (my own preference of course) is setup a scoped millis() near the action you want to do, so in the loop i would put:



    void loop() {
    static uint32_t coolant_timer = millis();...
  10. Replies
    1,044
    Views
    173,167

    you shouldn't need to strip mailboxes down to one...

    you shouldn't need to strip mailboxes down to one using msg.seq = 1, it will only output to the absolute first mailbox. also you don't need events() in loop if you want direct firing interrupts, but...
  11. Replies
    1,044
    Views
    173,167

    are you using pins 0 & 1 for CAN2? are you using...

    are you using pins 0 & 1 for CAN2?
    are you using level shifters? teensy is 3.3v
    is the Rs pin driven low?
  12. Thread: SPISlave_T4

    by tonton81
    Replies
    87
    Views
    6,369

    only thr t4.x masters needs specific dse bits...

    only thr t4.x masters needs specific dse bits set, other masters work fine
  13. Thread: SPISlave_T4

    by tonton81
    Replies
    87
    Views
    6,369

    the master 4.x need a patch for the DSE bits,...

    the master 4.x need a patch for the DSE bits, check out the commits for SPI_MSTransfer_T4, this only affects the master, just make sure your ground is the one next to the 5v pin (not near pin 0)
  14. Replies
    1,044
    Views
    173,167

    Hardware only sends transmission once but only if...

    Hardware only sends transmission once but only if it is successful. It will retry until a valid ACK occurs and then it can continue to next frame. Be sure a node is on the bus to ACK it and check the...
  15. Thread: SPISlave_T4

    by tonton81
    Replies
    87
    Views
    6,369

    i don't see POPR used in your last code, both of...

    i don't see POPR used in your last code, both of them must be used. if you dont care for POPR (receiving) then flush it at very least:


    (void)mySPI.popr();
  16. Thread: SPISlave_T4

    by tonton81
    Replies
    87
    Views
    6,369

    for the 4.x slave check if you're using the GND...

    for the 4.x slave check if you're using the GND beside the 5v pin, and not the one beside pin 0

    there is no buffer, this is a fixed register in the SPI hardware
    POPR receives byte from bus master...
  17. Replies
    1,044
    Views
    173,167

    Is there any data on the bus? If it's in a TX...

    Is there any data on the bus? If it's in a TX mailbox it should be writing out, what does mailboxstatus print out?
  18. Replies
    1,961
    Views
    277,482

    thats the master, have you tried the master slave...

    thats the master, have you tried the master slave examples as a start to make sure your wiring is okay? the examples do work so they will rule out if it's a software or hardware connection issue
  19. Replies
    1,044
    Views
    173,167

    do a mailboxStatus(), if it still stays there...

    do a mailboxStatus(), if it still stays there after you stop transmitting, verify your baudrate, terminations, transceiver connections. it will stay in the mailbox and software has no control over...
  20. Replies
    1,044
    Views
    173,167

    each hardware mailbox stores only one frame...

    each hardware mailbox stores only one frame during poll mode. if you use interrupts, a queue system automatically collects the mailboxes so they can receive another frame. From that queue, the...
  21. Replies
    24
    Views
    6,471

    still that error makes no sense if you have it...

    still that error makes no sense if you have it set to teensy T4.x. maybe its because it's a french IDE having incompatibilities with teensyduino? nothing in the library is avr related
  22. Replies
    1,044
    Views
    173,167

    is that the only method you need working? if so,...

    is that the only method you need working? if so, you can temporarily add it as a virtual method in FlexCAN_T4_Base class (virtual method(args) = 0) and it will work until i figure out a template...
  23. Replies
    1,044
    Views
    173,167

    You can use the base class as an alternative ...

    You can use the base class as an alternative




    FlexCAN_T4<CAN1, RX_SIZE_256, TX_SIZE_16> Can0;

    class TestClass {
    private:
    FlexCAN_T4_Base* bus = nullptr;
  24. Replies
    1,044
    Views
    173,167

    I wrote a post regarding using template objects,...

    I wrote a post regarding using template objects, it just replicates your function for X busses without doubling it in the sketch.
    ...
  25. Thread: SPISlave_T4

    by tonton81
    Replies
    87
    Views
    6,369

    same device? well i would imagine the interrupt...

    same device? well i would imagine the interrupt being held open with active locked, the loop wouldnt be able to send anything until that's done, i never tested it as a loopback but thats where you...
  26. Replies
    24
    Views
    6,471

    yes, latest always on github for any library

    yes, latest always on github for any library
  27. Replies
    24
    Views
    6,471

    never heard of that error before, make sure you...

    never heard of that error before, make sure you have teensy selected as the board
  28. Thread: SPISlave_T4

    by tonton81
    Replies
    87
    Views
    6,369

    should be the arduino/libraries folder, not the...

    should be the arduino/libraries folder, not the main project location
  29. Replies
    16
    Views
    979

    if thats the 4.1, could you try the GND on the...

    if thats the 4.1, could you try the GND on the other side of the board, not the one next to pin 0
  30. Replies
    16
    Views
    979

    try 2.2k resistors instead of 4.7k for 3.3v i2c

    try 2.2k resistors instead of 4.7k for 3.3v i2c
  31. Replies
    1,044
    Views
    173,167

    I can't see all your code but just remove...

    I can't see all your code but just remove events() from the loop() if you have it so the callback will fire directly rather from the events() queue system, this will disable the RX queue system and...
  32. Replies
    1,044
    Views
    173,167

    most libraries depended on the original...

    most libraries depended on the original flexcan.h, however the one you are using is custom and accesses the hardware directly without depending on flexcan.h. Once you remap the addresses and figure...
  33. we had -20 winters here and t4.0 ran fine, it was...

    we had -20 winters here and t4.0 ran fine, it was running 24/7
  34. Replies
    1,044
    Views
    173,167

    the registers should be fine to port the older...

    the registers should be fine to port the older library to t4, however if you look at flexcan_t4's begin() you'll see the initialization routines needed, and you'll need to remap the address of can0...
  35. Replies
    208
    Views
    47,806

    both are the same, they call same function, so...

    both are the same, they call same function, so it's user preference really. You can continue writing to the buffer it will overwrite older values when full, no need to empty it and wait for it to...
  36. every person has a preference so this is what I...

    every person has a preference so this is what I mostly use:



    static uint32_t t = millis();
    if ( millis() - t > 1000 ) {
    // DoSomething();
    t = millis();
    }
  37. Replies
    1
    Views
    134

    i2c does need pullups even for 3.3v, use 2.2k

    i2c does need pullups even for 3.3v, use 2.2k
  38. Just out of curiosity for SPI0 try to run this...

    Just out of curiosity for SPI0 try to run this after SPI.begin() using default SPI pins on the T4.1 master:



    #if defined(__IMXRT1062__)
    IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_01 = IOMUXC_PAD_DSE(3)...
  39. Replies
    35
    Views
    5,207

    According to the author of the port: I am...

    According to the author of the port:



    I am wondering if the modified core as well as updated toolchain have a side affect to this...

    By the way USBHost.h was not found, which library you...
  40. Replies
    35
    Views
    5,207

    that's an assert error from free-rtos end on the...

    that's an assert error from free-rtos end on the memory map itself, that could be a problem with the freertos port

    have you tried fresh rtos with blinking light?
    and
    have you tried all your code...
  41. Replies
    35
    Views
    5,207

    perhaps a demo example of usbhost on t3.6 with...

    perhaps a demo example of usbhost on t3.6 with rtos and how it crashes, it could just be a code issue, maybe UB or sepamore issue. RTOS is very finicky sometimes, I have an ESP32 using quad ble...
  42. Replies
    1,044
    Views
    173,167

    there are also multiple timing parameters for FD...

    there are also multiple timing parameters for FD in the Advanced setbaudrate config menu, it displays all the timings for the same bitrate so you can pick one from the list, by default it uses the...
  43. Replies
    1,044
    Views
    173,167

    have you tried other baudrates? tried changing...

    have you tried other baudrates? tried changing the clock to 60?

    collink had same if not similar issue with 500000/2000000 specifically, while 1000000/2000000 was fine
  44. Replies
    1,044
    Views
    173,167

    unfortunately you're limited by the bus speed,...

    unfortunately you're limited by the bus speed, abort cancels a transmission and may or may not guarentee the frame be sent out or not still, plus that would lead to more latency and missing frame to...
  45. Replies
    1,044
    Views
    173,167

    Uploaded patch for return value 0 if queue was...

    Uploaded patch for return value 0 if queue was full.
    Tested it as well:


    for ( int i = 0; i < 30; i++) {
    CAN_message_t msg;
    msg.id = 0x555;
    msg.seq = 1;
    ...
  46. Replies
    1,044
    Views
    173,167

    the sender only has a transmit queue of 16,...

    the sender only has a transmit queue of 16, you'll need to increase that if you plan to burst

    i went to check the write function unfortunately it doesn't check for overflows, as they'll return -1...
  47. https://github.com/tonton81/SPI_MSTransfer_T4 ...

    https://github.com/tonton81/SPI_MSTransfer_T4

    It works on all Teensy LC, 3.x, and 4.x
  48. I made a daisy-chainable SPI slave library, you...

    I made a daisy-chainable SPI slave library, you can use it either separate or same CS, and you can send whatever arrays you want from master to slave or slave to master

    you could do it yourself...
  49. Replies
    7
    Views
    279

    yeah, its just for curiosity, we had an issue...

    yeah, its just for curiosity, we had an issue with SPI talking to an SPI slave T4 and this ressolved it, if it can fix other stuff since you have a scope it can be a good reference to look back on
  50. Replies
    7
    Views
    279

    out of curiosity, can you try this? put it AFTER...

    out of curiosity, can you try this?
    put it AFTER SPI.begin()


    #if defined(__IMXRT1062__)
    IOMUXC_SW_PAD_CTL_PAD_GPIO_B0_01 = IOMUXC_PAD_DSE(3) | IOMUXC_PAD_SPEED(3) | IOMUXC_PAD_PKE; /*...
Results 1 to 50 of 500
Page 1 of 10 1 2 3 4