Teensy 4.0 First Beta Test

Status
Not open for further replies.
Ran the SdCardTest from the audio-library:
Code:
SD Card Test
------------
SD card is connected :-)
Card type is SDHC
File system space is 15923.15 Mbytes.
SD library is able to access the filesystem

Reading SDTEST1.WAV:
  Overall speed = 1.98 Mbyte/sec
  Worst block time = 0.70 ms
    24.02% of audio frame time

Reading SDTEST1.WAV & SDTEST2.WAV:
  Overall speed = 1.30 Mbyte/sec
  Worst block time = 3.92 ms
    135.01% of audio frame time

Reading SDTEST1.WAV & SDTEST2.WAV staggered:
  Overall speed = 1.31 Mbyte/sec
  Worst block time = 1.16 ms
    40.15% of audio frame time

Reading SDTEST1.WAV, SDTEST2.WAV, SDTEST3.WAV:
  Overall speed = 1.32 Mbyte/sec
  Worst block time = 4.29 ms
    147.79% of audio frame time

Reading SDTEST1.WAV, SDTEST2.WAV, SDTEST3.WAV staggered:
  Overall speed = 1.32 Mbyte/sec
  Worst block time = 1.57 ms
    54.18% of audio frame time

Reading SDTEST1.WAV, SDTEST2.WAV, SDTEST3.WAV, SDTEST4.WAV:
  Overall speed = 1.41 Mbyte/sec
  Worst block time = 4.62 ms
    159.13% of audio frame time

Reading SDTEST1.WAV, SDTEST2.WAV, SDTEST3.WAV, SDTEST4.WAV staggered:
  Overall speed = 1.41 Mbyte/sec
  Worst block time = 1.93 ms
    66.52% of audio frame time
 
No problem, I'll send you another board with the resistor added. It's quick & easy without soldering most of the non-audio parts. I'm also out of the plastic bases. But there's plenty of extra breakout boards which aren't going to be used, since the next rev changes to a 1 mm pitch pads for a FFC connector.

Paul - thank you so much!!!!! - really appreciate it. Will make it easier to test with.
 
@Frank B = did my test with no mods to core for SD card. Assuming you did the same.

@KurtE - installed pogo pins for Serial6, Serial7 and SPI1. Tested the transmit for 6/7 and that seemed to work - sent hello messages to a T3.2 :) Just placed the in the holes - have to go solder them now. If you have a test sketch you want me to try let me know.

Going to try SPI1 with the 9488 shortly - need more coffee.
 
@PaulStoffregen

Quick question on the current breakout board - the 2 pins between gnd and RX I am assuming are not connected to anything? Just want to be sure since I want to bring out pins 26/27 to them to test SPI1
 
@WMXZ
Nah. That pops up all the time when you get to the filter tab. If you use the link that Paul gave you there is about 1410 in stock that you can order individually versus large quantity buy. You are better off to use the link. I always found search for parts on digikey challenging.
 
I downloaded and installed the new Beta Code and then tried compiling one of my FlexIO examples with edits to add table for FlexIO3...

Looks like all of the defines are in place. I pushed up the first round of changes up to my github project: https://github.com/KurtE/FlexIO_t4

Now thinking about what should I change strategy wise in this code base to deal with having several IO pins which can either use FlexIO2 or FlexIO3...

Currently there is a function that maps IO pin to flexIO object... So need to handle duplicates or right now they will all map to FlexIO2...

Also with trying to figure out the strategy need to take into account the count of different resources (Timers, Shifters) which there are 4 of each on each of the FlexIO controllers

Also with taking usages of some of these resources into account.
For example there are some usages which require two consecutive timers (that is internal they work with Timer N and N+1) and require the multiple pins to be on same controller
Also Some classes want DMA for the shifters. That is DMA Mux Mapping:
FlexIO1: Channel 0 - Maps to (shifter 0 and shifter 1) channel 64 (2, 3)
FlexIO2: Channel 1 - Maps to (shifter 0 and shifter 1) channel 65 (2, 3)
FlexIO3: <None>

So if something like SPI wants two shifters using DMA for input and output, one of them can use shifter (0, 1) and the other either (2, 3)

So for example maybe: some of classes like Serial who is not using DMA should somehow specify this and take a resources from FlexIO3 when possible. But if they then run of the resources on that FlexIO then need to try to shift to using resources on other FlexIO or if they need to have all of the pins on same one...

...

But will start testing some of it.
 
It is the TPS-Chip.
I've tested the 8MB RAM with th T3.6 only, so far.
I'll make little board for it, when i've figured out how to use quad-spi with flexio.

Hi Frank,

I have not researched it much, but the main LPSPI has the ability to do 4 output pins.
Where SOUT is data0, SIN data1, and PCS2 data2 PCS3 as data3...

I am not sure if we have PCS2/3 anywhere but one can try to do two bit transfers, by setting width field in TCR register.
And only enabling either transmit or receive...

Again a long shot, but...
 
@KurtE

Just tried SPI1 with the ILI9488 display. Not working - not sure if its the pogo pin connections to the 1062 or the SPI. Have to go do a few errands but will do some more debugging when I get back.
 
@KurtE

Just tried SPI1 with the ILI9488 display. Not working - not sure if its the pogo pin connections to the 1062 or the SPI. Have to go do a few errands but will do some more debugging when I get back.

Will be interesting to hear... I need to get busy and make an adapter board that gains me access to all of these pins!

When I am not sure about some of these things I use my real basic blink_any_pin sketch:
Code:
int current_pin = 13;
int next_pin_number = 0;
#define DBGSerial Serial4
void setup() {
    // Blink any pin.  Note: I put pin 13 as input to see if we can
  // jumper to it to see if we can find the pin...
  while (!Serial && millis() < 5000);
  DBGSerial.begin(115200);
  delay (250);
  DBGSerial.println("Find Pin by blinking");
  DBGSerial.println("Enter pin number to blink"); 
  pinMode(13, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  if (DBGSerial.available()) {
    int ch;
    while ((ch = DBGSerial.read()) != -1) {
      if ((ch >='0') && (ch <= '9')) {
        next_pin_number = next_pin_number * 10 + (ch-'0');
      } else {
        if (next_pin_number != 0) {
          digitalWrite(current_pin, LOW); // turn the previous pin to low...
          current_pin = next_pin_number;
          pinMode(current_pin, OUTPUT);
          if (current_pin != 13)
            pinMode(13, INPUT);
          digitalWrite(current_pin, HIGH);
          next_pin_number = 0;  // setup to enter next pin
          DBGSerial.printf("Now Blinking pin %d\n\r", current_pin);
        }
      }
    }
  } else {
    digitalWrite(current_pin, !digitalRead(current_pin));
    delay(250);
  }  
}
It starts off blinking pin 13, but allows you to type in a number of pin to blink, it then turns pin 13 to input. So I setup a jumper from pin 13 and probe the pin I am interested in seeing and hopefully the LED on 13 blinks.

Currently hacked up to use Serial4 as Serial does not work on T4 beta boards.
 
@KurtE
That did the trick - pins 0, 1, 26 are blinking no problem. Pin 27 is not so have to see what happened - may have to replace the pogo pin - its doesn't seem to be popping back up like the others.

Now I have to go out!!!!!
 
Just installed the latest 1.47b1 using post#2 link and ran the "cardinfo" sketch in the SD library using this setup:
Code:
const int chipSelect = BUILTIN_SDCARD;

oppps ... Only one line needed :: const int chipSelect = BUILTIN_SDCARD;
[but it did find the FAST GPIO issue on the SDIO pin test …]

Just like T_3.6 the SDIO pins are controlled with that - no SPI.set()'s needed.

Both of my cards have read - and a Power Off between was good to get a clean restart and safe card change.

Cool thing is without a vBat battery an app watching RTC keeps time during Off to On - unlike killing power.
 
If you used this link that Paul gave us https://www.digikey.com/product-detail/en/amphenol-icc-fci/HFW8R-1STE1LF/609-1788-1-ND, it should be in stock. I just ordered a bunch of them along with the USB cable that Paul just reference.

@mjs513:
> that part does show: "1,110 Can ship immediately " but also "Discontinued at Digi-Key " and for Tape and reel "Minimum Quantity: 4,000 Non-Stock" - it does not show 'restock time' like most items.

> What was the "USB cable that Paul just reference" - I don't find that?

About the MCLK resistor solder - glad I didn't think it was hard … I just did it following Paul's tinning note - Scratched off coating - cut open the trace - added flux and tinned the exposed ends - held the resistor and got one and then the other end in place … it was straight but I didn't hold long enough before lifting the holding tweezers on end two.
MCLK560.jpg
opps - I see it is upside down too :)

Question: Where is the 5 second POWER OFF time set? And is the 'PRESS' of that Power button [PCB pin to GND] available in code for use as a 'Warning Shutdown requested' : "Close SD files" ... etc?
 
> that part does show: "1,110 Can ship immediately " but also "Discontinued at Digi-Key " and for Tape and reel "Minimum Quantity: 4,000 Non-Stock" - it does not show 'restock time' like most items.

Does anyone want to suggest alternates? Total PCB footprint width needs to be under 13 mm.
 
Does anyone want to suggest alternates? Total PCB footprint width needs to be under 13 mm.

I followed the cable link at the bottom of the page you referenced and gave a couple of alternatives - not sure if this one fits the bill - its really hard for me to read that drawing for some reason.

UPDATE: Heres the missing link that Tim pointed out: https://www.digikey.com/product-detail/en/molex/0522070833/WM10376CT-ND/4505929

@defragster - @WMXZ: my apologies didn't scroll down enough I guess to see that note amongst the others.
 
I followed the cable link at the bottom of the page you referenced and gave a couple of alternatives - not sure if this one fits the bill - its really hard for me to read that drawing for some reason.

@defragster - @WMXZ: my apologies didn't scroll down enough I guess to see that note amongst the others.

Mike did you mean to include a link?

Maker page https://www.amphenol-icc.com/fpc-ffc-hfw8r1ste1lf.html - links to other distributors. Didn't see EOL notes or link to alternates

Arrow has more and shows 7 week lead time :: https://www.arrow.com/en/products/hfw8r-1ste1lf/amphenol-fci
 
@KurtE
That did the trick - pins 0, 1, 26 are blinking no problem. Pin 27 is not so have to see what happened - may have to replace the pogo pin - its doesn't seem to be popping back up like the others.

Now I have to go out!!!!!

@KurtE

Ok heres the story. Got pins 26, 27, and 1 blinking no issue. But then I noticed that if I entered pin 0 not would print now blinking pin 0.... the LED keeps blinking. So my previous post was wrong on pin0. In that test I connected to pin0 first then entered 0. This test I changed the pin first then changed the connection.

The reason why I rechecked again was because I still couldn't get the display to work on SPI1.

EDIT:
@KurtE - tried using cs=10 but no luck.
 
Last edited:
Status
Not open for further replies.
Back
Top