J

Latest activity Postings About

    • J
      (flipflop++ % 1) should be (flipflop++ % 2)
    • J
      joepasquariello replied to the thread DAC80501 Help.
      There may be other issues, but your spi_Write function is calling SPI.transfer(data_byte), which sends one byte, but data_byte is type uint16_t, which is two bytes. You at least need to send both bytes of the data value. You might want to rename...
    • J
      Just a guess, but this may be a reference to a company named Real-Time Systems. Among other things, they make software tools to allow visualization of data from embedded systems. https://www.real-time-systems.com/
    • J
      Yes, if you can use an SD card, that's a simpler way to start. I recommend you look at SdFat library example programs, particularly TeensySdioLogger.
    • J
      I think only you can estimate or determine your data logging requirements. If you're new to this, you can start by deciding how often you want to log data, and how much you want to log each time. Multiply those and you have a data rate...
    • J
      If you want to log data to flash, I think it's a good idea to add a flash chip. There may be a lot of space in the on-board flash chip, but when you write or erase the on-board flash, interrupts are disabled, and that constraint may not be...
    • J
      There have been some threads about download timeouts for large files. Since your trouble is only with RPi, it makes sense to wonder if the timeout logic is somehow different there. Sorry I can't provide specific help, but there is a timeout.
    • J
      joepasquariello replied to the thread CAN XL in Teensy 4.1.
      Probably you should look at the CAN examples and read the manual. Lots of good info there.
    • J
      joepasquariello replied to the thread CAN XL in Teensy 4.1.
      Looks like CAN XL was only released in 2022, later than iMXRT1062, so probably not? The quote below is from the iMXRT1062 reference manual. No mention of CAN XL. The FlexCAN module is a full implementation of the CAN protocol specification, the...
    • J
      joepasquariello replied to the thread Loop Back Error -.
      Example program LoopBack in the PulsePosition library builds with no errors for me for T4.1. I'm using Arduino 1.8.19 and TeensyDuino 1.59 on Windows 7 (but Paul always recommends 10+). Please tell us which Teensy, IDE, TeensyDuino, platform...
    • J
      Maybe provide the link to the video? The sketch doesn't look like it's intended for T4.1
    • J
      joepasquariello replied to the thread Another newbee.
      Thanks, Shawn. I had a feeling it might be.
    • J
      joepasquariello replied to the thread Another newbee.
      If you provide the full project someone can help you.
    • J
      joepasquariello replied to the thread Another newbee.
      Not sure what "controller.h" is, so I can't try to build the project, and maybe this is C++ syntax I'm not familiar with, but line 59 below looks wrong to me. Pot *POTS[] {&PO1}; Pot *POTS[] defines a variable named POTS that is an array of...
    • J
      Do you mean TyCommander is working for you on Windows, or is this also for Ubuntu?
    • J
      Thanks for that clarification, Paul. It's nice that one can try the higher speed without modifying any core files.
    • J
      The other thread seems to say that 132 MHz works, so I would just try it, and if it works, use it. I don't think you can damage the board or the PSRAM by raising that clock frequency. If you're curious, you can try running the PSRAM test program...
    • J
      Here is a library for using MPU9250 with Teensy. You can find several threads on this forum about using this library if you google "Teensy MPU9250" https://github.com/bolderflight/MPU9250
    • J
      Here is the code from startup.c in TD 1.59. It uses (5) and (3) to set the clock to 88 MHz. I think this means that CLK_SEL(3) provides a clock of 440 MHz, and the (5) means 440/5 = 88. CCM_CBCMR = (CCM_CBCMR &...
    • J
      I had recently wanted to reset EEPROM in a T4.1 for a similar reason, but within my application. The code shown below does that using functions in eeprom.c and runs in a little under one second, but keep in mind it is not equivalent to the full...
    • J
      I was referring to your question about SD, which I could not answer.
    • J
      Whatever issue you're having, your best bet for getting help here is to create a small test program that shows the issue and builds in Arduino IDE.
    • J
      No idea what you're doing. My point was that QNEthernet is supported and NativeEthernet not so much. You may also want to try building your simple program in the Arduino IDE. There have been many posts here where PIO tools configuration/settings...
    • J
      You might want to try QNEthernet instead of NativeEthernet, which is no longer supported.
    • J
      Perhaps the "loader utility" that is contained in the 2nd part of the EHEX file is not needed when the update is done via FlasherX, i.e. from within an application that has already passed the "security barrier"? I know so little about the locked...
    • J
      See the github link below for a method (FlasherX) to update firmware on Teensy 4.1 via UART. In my case, the UART connection to T4.1 is from a PC host, but you could use the same method to update firmware in one T4.1 from another T4.1, and since...
    • J
      The program below will generate phase-shifted 1-MHz PWM on pins 2 and 3, which are channels A and B of the same SubModule on FlexPWM4. You can read about phase-shifted PWM in Chapter 55 of the iMXRT1062 reference manual. What the program does is...
    • J
      0 to 95C. Industrial grade of the same part is -40 to 105C
    • J
      Thanks for documenting the startup logic. That's all new to me.
    • J
      Thanks for taking the time to post your working sketch.
    • J
      One way is to get a USB microSD card reader for your PC, copy files onto an SD that way, and then insert the SD card into your T4.1 socket. If you want to transfer directly to the SD on T4.1, search for "MTP" on this forum. That stands for "Mass...
    • J
      I read the section on EHEX files a couple of times. It's pretty amazing that Paul provides all of this information, and I hope he won't mind answering another question. With a standard HEX file, FlasherX writes the new firmware to the flash base...
    • J
      For an application as large as yours, I think buffering in PSRAM would be the fastest. I did a test, and the time to read SD and write to PSRAM is 5 seconds (compare to 20 to write to a flash buffer). The reduction of 15 seconds corresponds...
    • J
      I tested with an application a bit over 2MB, and I get 20 seconds to read from SD and write to the flash buffer, and 57 seconds for flash_move(). Less than your 73 seconds, and I don't know why, but still on the order of 1 minute. I tried...
    • J
      Oh, okay. My applications are pretty small, so I think of the flash write as fast. Or perhaps I should say that I think of the slow part as being the parsing of the hex file and writing to the flash buffer. Once that is done, I think of the copy...
    • J
      If you store two images (hex files) on SD, each with the capability of switching to the other, whichever one is running could load the other with these steps: (1) read image from SD and write it to a flash buffer above the active image, (2) call...
    • J
      joepasquariello replied to the thread SPI library on T4.0.
      1.8.5 sounds like a version of Arduino IDE, not of TeensyDuino. The latest TeensyDuino is 1.59, just released last week. Arduino 1.8.5 goes back quite a ways, so it might be a good idea to update to the latest (Arduino 1.8.19 and TeensyDuino 1.59).
    • J
      The PWM clock frequency for T4 is 150 MHz (F_CPU/4), so at 4 MHz you have ~38 clocks per period and at 10 MHz you have 15 clocks. That's enough resolution to get pretty close to your desired offsets of 1/4, 1/2, 3/4 period. See section 55 of the...
    • J
      You have two threads. One thread is executing loop() and the other is executing updateDisplay(). Both are calling Serial.print(), and because that is not re-entrant, it's likely to crash your program. One solution is to print only from one...
    • J
      If you're not familiar with elapsedMillis, it's a clever little class that encapsulates the commonly-used paradigm of reading millis(), comparing to a start value, etc. Each access to "ms" implies a read of millis() and a calculation of the...
    • J
      Getting speed from the encoder is really easy if you use the QuadEncoder library per the link in your post. You just call enc.Read() at the interval you want, and do the calculation. Here is a T4.x example that assumes encoder A and B signals are...
    • J
      joepasquariello replied to the thread Encoder Tester.
      @luni, I figured out what I was doing wrong and fixed it, and I opened an issue on your EncSim repository that explains how I modified your IntervalTimerEx for compatibility with TD 1.59
    • J
      joepasquariello replied to the thread Overflowing RAM.
      Code and static variables go into RAM1, and that's where you have the overflow. On the other hand, almost all of your RAM2 is available, so an easy fix is to add the DMAMEM keyword for some of the statically defined variables, or allocate them...
    • J
      joepasquariello replied to the thread Encoder Tester.
      @luni, I'm using TD 1.59b6 and trying to build an old sketch that uses your EncSim library. I'm getting errors in IntervalTimerEx that I think are associated with your changes to IntervalTimer. It looks like IntervalTimerEx.h and cpp need...
    • J
      You don't say what how many SPI devices or what type, but assuming there are at least 3, Teensy 4.0 has 3 x SPI, so you could at least triple your throughput by using them all.
    • J
      Have you tried the library below that uses the T4.x quadrature hardware? That's a much better solution for your project. At 1700 rpm, you'll have 1700/60 * 8000 = ~226K interrupts/sec. The T4.0 can do that, but the library below can provide a...
    • J
      It is not necessary for each FreqMeasureMulti to be on a separate FlexPWM, but you should pick pins for FreqMeasureMulti that are on different FlexPWM than those you use for PWM. I'm forgetting the terminology, but a single FlexPWM has 12 output...
    • J
      Are you setting USB type to "Serial + MTP (experimental)"?
    • J
      It's definitely okay to define elapsedMillis inside a function. Can only guess that's a very old comment.
    • J
      joepasquariello replied to the thread using DMAMEM.
      You're telling the compiler that you want RingBuf to be stored in a different location from the rest of the class data member. If you want the RingBuf to be in DMAMEM, you'll have to either put the entire class in DMAMEM (not sure that works), or...
  • Loading…
  • Loading…
Back
Top