if thats the 4.1, could you try the GND on the other side of the board, not the one next to pin 0
Type: Posts; User: tonton81
if thats the 4.1, could you try the GND on the other side of the board, not the one next to pin 0
try 2.2k resistors instead of 4.7k for 3.3v i2c
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...
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...
we had -20 winters here and t4.0 ran fine, it was running 24/7
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...
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...
every person has a preference so this is what I mostly use:
static uint32_t t = millis();
if ( millis() - t > 1000 ) {
// DoSomething();
t = millis();
}
i2c does need pullups even for 3.3v, use 2.2k
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)...
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...
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...
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...
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...
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
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...
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;
...
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...
https://github.com/tonton81/SPI_MSTransfer_T4
It works on all Teensy LC, 3.x, and 4.x
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...
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
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; /*...
a scoped mutex would be sufficient there
did you try threads.delay() ? i think we not suppose to use delay() in threads
Use TeensyThreads, even though RTOS on ESP32 uses 2 cores mostly it uses tasks on core 1 for arduino, TeensyThreads is very good at switching tasks(threads), although there are no sepamores you still...
solder joints look weak, did you adjust your code?
the fifo example with interrupts is a good start as that is guarenteed to work, provided you choose the right bus in the constructor and baudrate...
As paul said you need a proper circuit with logic mosfets and series resistor to protect the pins. You shouldn't be driving loads only applying a signal where the mosfet or relay takes care of the...
i am using an esp32 with mosfets being commanded by teensy over CAN. So teensy can control the 10 gpios currently connected to the esp32. i also posted a sketch for it on github. mosfet boards you...
must be setMB configured before doing any filterwork, by default with fifo disabled the 4 first ones are STD while next 4 are EXT then 8 TX.
yes with the transceivers it will work as it's intended.
9600 isn't a standard CAN bitrate though. Try 125000 on low end, recommended 500000
How can your PC serial monitor see traffic if:
A) you have no callback
B) you're not polling
C) you are not using interrupts.
Sending may be working but you will never receive anything. Take a...
it doesn't work that way, it works based on the payload which can come in from anywhere. if you do go that route you'll most likely use filtering, but its a background queue that reassembles the...
currently i am printing debug from an ESP32 to Teensy using the same isotp that comes with flexcan_t4. so much easier snprintf'ing buffers and esp32 sending it to print to a teensy serial monitor :)...
this is what i found online, so only the AIRCR is needed for general purpose resets
maybe possible you flashed 2 teensies with the same code, and both sending at that interval?
This has come up before in the past and many people asked how to do it. I will put it here for reference. This will allow you to pass the template object directly into your own functions.
Now, we...
if you cant send or receive at lower CAN speeds than you have set now (provided all nodes use the same speed), there is definately a transceiver/termination issue
No it has no relation to Serial
kneeT.enableMBInterrupts();
This is redundant, by default theres no RX mailboxes when FIFO is enabled unless you specify them to be RX as well.
Should be fine, I'm running the same library here...
I usually just comment out stuff until the crash stops, but back when we did MST library we initially started with vectors, and they intermittantly crashed teensy 3.x as well. I see you always...
you could also put that array in the class itself, rather than global scope, under private, since only your library accesses it
https://czh-labs.com/collections/in-dc332v-out-ac-3-amp
i usually order stuff from czh-labs, they have pretty good products with WIDE voltage input. This is good for 3-32V input and switches up to...
yeah speeduino uses flexcan_t4 on teensy versions, but they use STM mcus as well, im on their discord as well
Weird, works fine here, i changed on my slave to use 50 length random arrays and i set both master & 2 slaves to poll write at 10ms rates
Just added a processing function for master end, instead of having duplicated code in all transfers, they simply pass in a pre-made buffer to it, it does the transfers, and returns a crc pass as well...
Just updated it again, the ifLC function has been abolished and replaced with a define :)
T4.x:
#define SLAVE_TDR(x) spiAddr[25] = (x)
T3.x:
#define SLAVE_TDR(x) spiAddr[13] = (x)
make sure you have common grounds as well
Teensy 3.x and LC support added! Up on github! :)
For LC, on master end, add a little delay between transfers using mySPI.delayTransfers(50); (50uS). if you specify 0 or leave at default 0, no...
yeah i didnt release the t3.x yet as im still playing with the LC stuff in it
but in case of the T3.x compatibility you can add more ADCs and touch sensors to your T4 projects :)
Been trying to add LC support but that's not playing nicely so far, especially since we are not playing with 32bit registers (LC=8). That, and the transmit register is 2 bytes versus 1 word. So ...
Wow that was fun. Because of the way I defined some defines for centralized access, I was able to make T3.5 to work as a daisy chained slave in this new MST_T4! I am going to do the same method of...