Forum Rule: Always post complete source code & details to reproduce any issue!
Page 10 of 32 FirstFirst ... 8 9 10 11 12 20 ... LastLast
Results 226 to 250 of 798

Thread: Teensy 4.1 Beta Test

  1. #226
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Location
    Ayer Massachussetts
    Posts
    3,763
    Speaking of the USB host connection, the Teensy 3.6 had solder pads that I could choose whether to power the remote USB host devices using the 5v VIN/VUSB power from the Teensy, or not provide the power (assuming it is connected to something like a USB powered hub). I'm not seeing such pads on the 4.1 beta. So I assume if somebody wanted to do it, they would need to mount something on the 5 pins, with a switch to connect/disconnect the Teensy power from the 5v source in the USB host (possibly with an external power connection). Is this right? I should note, that at this stage, I'm mostly curious, and I don't need to do the connection.

    And speaking of the ethernet PCB, it would be helpful if you had a parts list for the cable, etc.

  2. #227
    Senior Member+ manitou's Avatar
    Join Date
    Jan 2013
    Posts
    2,553
    Quote Originally Posted by MichaelMeissner View Post

    And speaking of the ethernet PCB, it would be helpful if you had a parts list for the cable, etc.
    click on "Description" on OSH park link

  3. #228
    Senior Member vjmuzik's Avatar
    Join Date
    Apr 2017
    Posts
    567
    Alright I just pushed an update to my FNET fork, there is a new example already setup to use with FBENCH to do speed tests.

    This is my average speed for large TCP transfers and seems to be the max: Click image for larger version. 

Name:	Screen Shot 2020-05-04 at 4.44.10 PM.png 
Views:	9 
Size:	11.0 KB 
ID:	19984
    Keep in mind this speed test doesn't account for the overhead of TCP packets so it likely is reaching the 100Mb speeds it should be.

  4. #229
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    11,931
    @vjmuzik: Seems to build and work here - just getting to test. Got Java fault from IDE SerMon - going to go post there

  5. #230
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    11,931
    Okay - back here. It works on T_4.1 with PJRC MagJack!

    Somehow I got 101,141.952 on FBench with 1,000 packets of 4096! Though sketch reports more like:
    Looped: 40566111 LoopedPoll: 1001 FNETMemFree: 162936 Link: 1
    Megabytes: 4.096000 Seconds: 0.3410 KBits/Sec: 96093.8416
    Looped: 39117939 LoopedPoll: 1001 FNETMemFree: 162936 Link: 1
    Click image for larger version. 

Name:	FNET_T41Native.png 
Views:	26 
Size:	35.5 KB 
ID:	19985

  6. #231
    Senior Member vjmuzik's Avatar
    Join Date
    Apr 2017
    Posts
    567
    So I believe everything is setup correctly, to my knowledge the receive frame uses an interrupt and then the stack just has to be polled every 1-100ms (the less the better). In my example I just have fnet_poll() being called from a separate thread, but if you don't need multithreading support you can just have it setup using any interrupt timer.

  7. #232
    Senior Member
    Join Date
    Oct 2017
    Location
    Houston
    Posts
    447
    I'm doing simple regression testing with a dozen or so of my lab setups, just to make sure interfaces and all look good. I just tested the BNO080 IMU with the Sparkfun lib over I2C, all looks good to me. Here's and example of the PRY output, Exp 17 in the lib.

    -0.7,1.3,-124.4
    -0.7,1.3,-124.4
    -0.7,1.3,-124.4
    -0.7,1.3,-124.4
    -0.7,1.3,-124.4
    -0.7,1.3,-124.4
    -0.7,1.3,-124.4
    -0.7,1.3,-124.4
    -0.7,1.3,-124.4
    -0.7,1.3,-124.4
    -0.7,1.3,-124.4
    -0.7,1.3,-124.4
    -0.7,1.3,-124.4
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	IMG_3734.JPG 
Views:	48 
Size:	130.2 KB 
ID:	19986  

  8. #233
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    11,931
    @vjmuzik - is this the same USBHost usable code base now with Native ethernet support?
    Don't have that in front of me - wondering how the "Looped: 40,566,093" STATS value compares?

  9. #234
    Senior Member vjmuzik's Avatar
    Join Date
    Apr 2017
    Posts
    567
    The USBHost is really it's own library, but I made a way for it to hook into the FNET library, so anything that you may have made with FNET before that worked with the USBHost Ethernet will work with the native Ethernet.

  10. #235
    Senior Member
    Join Date
    Aug 2017
    Posts
    298
    Quote Originally Posted by mjs513 View Post
    Ok just finished a new T4.1 breakout board to test a few of the different displays. Getting ready to order them and then debug. Here is a screen shot. Unfortunately the RA8875/76 is setup for capacitive touch - sorry @wwatson.

    Attachment 19983

    Yes added pins for a Sparkfun QWIIC adapter board. Not sure if I need anything else just for Testing displays.
    This is great I am planning to order another 10.1" from BuyDisplay with capacitive touch. Will you be selling these?

  11. #236
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    11,931
    Quote Originally Posted by vjmuzik View Post
    The USBHost is really it's own library, but I made a way for it to hook into the FNET library, so anything that you may have made with FNET before that worked with the USBHost Ethernet will work with the native Ethernet.
    Returned to that thread :: pjrc.com/threads/57701-USB-Host-Ethernet-Driver
    Found this old output showing a much smaller "Looped: 10,682,212 " - at that is OC'd to 816 MHz - assuming it is measuring apples to apples in the loop.
    Code:
     F_CPU=816000000	deg  C=44
    Megabytes: 0.127200  Seconds: 0.0440  KBits/Sec: 23127.2727
    Looped: 10682212  LoopedUSB: 1911  FNETMemFree: 130200  LinkSpeed: 100BASE
    I can't get a USBHost compile there right now with files on hand - something missing from FNET dated 10/10/2019?

  12. #237
    Senior Member pictographer's Avatar
    Join Date
    May 2013
    Location
    San Jose, CA
    Posts
    671
    Same issue for Mouse.h. Removing Mouse.h and Keyboard.h allows the KeyboardAndMouseControl sketch to compile and run.

    Code:
    Arduino: 1.8.12 (Linux), TD: 1.52-beta3, Board: "Teensy 4.1, Serial + Keyboard + Mouse + Joystick, 600 MHz, Faster, US English"
    
    
    /home/corbett/arduino-1.8.12/arduino-builder -dump-prefs -logger=machine -hardware /home/corbett/arduino-1.8.12/hardware -hardware /home/corbett/.arduino15/packages -tools /home/corbett/arduino-1.8.12/tools-builder -tools /home/corbett/arduino-1.8.12/hardware/tools/avr -tools /home/corbett/.arduino15/packages -built-in-libraries /home/corbett/arduino-1.8.12/libraries -libraries /home/corbett/Arduino/libraries -fqbn=teensy:avr:teensy41:usb=serialhid,speed=600,opt=o2std,keys=en-us -ide-version=10812 -build-path /tmp/arduino_build_273372 -warnings=all -build-cache /tmp/arduino_cache_909095 -verbose /tmp/arduino_modified_sketch_556381/KeyboardAndMouseControl.ino
    /home/corbett/arduino-1.8.12/arduino-builder -compile -logger=machine -hardware /home/corbett/arduino-1.8.12/hardware -hardware /home/corbett/.arduino15/packages -tools /home/corbett/arduino-1.8.12/tools-builder -tools /home/corbett/arduino-1.8.12/hardware/tools/avr -tools /home/corbett/.arduino15/packages -built-in-libraries /home/corbett/arduino-1.8.12/libraries -libraries /home/corbett/Arduino/libraries -fqbn=teensy:avr:teensy41:usb=serialhid,speed=600,opt=o2std,keys=en-us -ide-version=10812 -build-path /tmp/arduino_build_273372 -warnings=all -build-cache /tmp/arduino_cache_909095 -verbose /tmp/arduino_modified_sketch_556381/KeyboardAndMouseControl.ino
    Using board 'teensy41' from platform in folder: /home/corbett/arduino-1.8.12/hardware/teensy/avr
    Using core 'teensy4' from platform in folder: /home/corbett/arduino-1.8.12/hardware/teensy/avr
    Warning: Board microduino:avr:mddevice doesn't define a 'build.board' preference. Auto-set to: AVR_MDDEVICE
    Detecting libraries used...
    /home/corbett/arduino-1.8.12/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY41 -DF_CPU=600000000 -DUSB_SERIAL_HID -DLAYOUT_US_ENGLISH -I/home/corbett/arduino-1.8.12/hardware/teensy/avr/cores/teensy4 /tmp/arduino_build_273372/sketch/KeyboardAndMouseControl.ino.cpp -o /dev/null
    Alternatives for Mouse.h: [Mouse@1.0.1]
    ResolveLibrary(Mouse.h)
      -> candidates: [Mouse@1.0.1]
    /home/corbett/arduino-1.8.12/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY41 -DF_CPU=600000000 -DUSB_SERIAL_HID -DLAYOUT_US_ENGLISH -I/home/corbett/arduino-1.8.12/hardware/teensy/avr/cores/teensy4 -I/home/corbett/arduino-1.8.12/libraries/Mouse/src /tmp/arduino_build_273372/sketch/KeyboardAndMouseControl.ino.cpp -o /dev/null
    Alternatives for HID.h: []
    ResolveLibrary(HID.h)In file included from /tmp/arduino_modified_sketch_556381/KeyboardAndMouseControl.ino:25:0:
    
    
      -> candidates: []
    /home/corbett/arduino-1.8.12/libraries/Mouse/src/Mouse.h:25:17: fatal error: HID.h: No such file or directory
    compilation terminated.
    Using library Mouse at version 1.0.1 in folder: /home/corbett/arduino-1.8.12/libraries/Mouse 
    Error compiling for board Teensy 4.1.

  13. #238
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    22,250
    Quote Originally Posted by pictographer View Post
    Same issue for Mouse.h.
    Fixed
    https://github.com/PaulStoffregen/co...990c7c04e61aff

  14. #239
    Senior Member vjmuzik's Avatar
    Join Date
    Apr 2017
    Posts
    567
    USBHost Ethernet should now be fixed for Teensy 3.6-4.1, I had to rename the interface so it would be possible to support native ethernet and usb ethernet at the same time.

  15. #240
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    11,931
    Quote Originally Posted by vjmuzik View Post
    USBHost Ethernet should now be fixed for Teensy 3.6-4.1, I had to rename the interface so it would be possible to support native ethernet and usb ethernet at the same time.
    Sample : T:\tCode\libraries\FNET\examples\ASIXEthernet_Test { same results from local sketches last used }

    I updated from : github.com/vjmuzik/TeensyASIXEthernet and https://github.com/vjmuzik/FNET

    Code:
    Building Sketch: ".\Functions.ino"
    Using board 'teensy41' from platform in folder: T:\arduino-1.8.12\hardware\teensy\avr
    Using core 'teensy4' from platform in folder: T:\arduino-1.8.12\hardware\teensy\avr
    Detecting libraries used...
    "T:\\arduino-1.8.12\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10600 -DARDUINO_TEENSY41 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\cores\\teensy4" "T:\\TEMP\\arduino_build_Functions.ino\\sketch\\Functions.ino.cpp" -o nul
    Alternatives for USBHost_t36.h: [USBHost_t36@0.1]
    ResolveLibrary(USBHost_t36.h)
      -> candidates: [USBHost_t36@0.1]
    "T:\\arduino-1.8.12\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10600 -DARDUINO_TEENSY41 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\cores\\teensy4" "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\libraries\\USBHost_t36" "T:\\TEMP\\arduino_build_Functions.ino\\sketch\\Functions.ino.cpp" -o nul
    Alternatives for ASIXEthernet.h: [TeensyASIXEthernet]
    ResolveLibrary(ASIXEthernet.h)
      -> candidates: [TeensyASIXEthernet]
    "T:\\arduino-1.8.12\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10600 -DARDUINO_TEENSY41 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\cores\\teensy4" "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\libraries\\USBHost_t36" "-IT:\\tCode\\libraries\\TeensyASIXEthernet" "T:\\TEMP\\arduino_build_Functions.ino\\sketch\\Functions.ino.cpp" -o nul
    Alternatives for TeensyThreads.h: [TeensyThreads@1.0.1]
    ResolveLibrary(TeensyThreads.h)
      -> candidates: [TeensyThreads@1.0.1]
    "T:\\arduino-1.8.12\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10600 -DARDUINO_TEENSY41 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\cores\\teensy4" "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\libraries\\USBHost_t36" "-IT:\\tCode\\libraries\\TeensyASIXEthernet" "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\libraries\\TeensyThreads" "T:\\TEMP\\arduino_build_Functions.ino\\sketch\\Functions.ino.cpp" -o nul
    Alternatives for fnet.h: [FNET@0.1.3]
    ResolveLibrary(fnet.h)
      -> candidates: [FNET@0.1.3]
    "T:\\arduino-1.8.12\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10600 -DARDUINO_TEENSY41 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\cores\\teensy4" "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\libraries\\USBHost_t36" "-IT:\\tCode\\libraries\\TeensyASIXEthernet" "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\libraries\\TeensyThreads" "-IT:\\tCode\\libraries\\FNET\\src" "T:\\TEMP\\arduino_build_Functions.ino\\sketch\\Functions.ino.cpp" -o nul
    "T:\\arduino-1.8.12\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -
    
    // …
    
    1.8.12\\hardware\\teensy\\avr\\libraries\\TeensyThreads" "-IT:\\tCode\\libraries\\FNET\\src" "T:\\tCode\\libraries\\FNET\\src\\stack\\fnet_wifi.c" -o nul
    Generating function prototypes...
    "T:\\arduino-1.8.12\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10600 -DARDUINO_TEENSY41 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\cores\\teensy4" "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\libraries\\USBHost_t36" "-IT:\\tCode\\libraries\\TeensyASIXEthernet" "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\libraries\\TeensyThreads" "-IT:\\tCode\\libraries\\FNET\\src" "T:\\TEMP\\arduino_build_Functions.ino\\sketch\\Functions.ino.cpp" -o "T:\\TEMP\\arduino_build_Functions.ino\\preproc\\ctags_target_for_gcc_minus_e.cpp"
    "T:\\arduino-1.8.12\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "T:\\TEMP\\arduino_build_Functions.ino\\preproc\\ctags_target_for_gcc_minus_e.cpp"
    Compiling sketch...
    "T:\\arduino-1.8.12\\hardware\\teensy/../tools/precompile_helper" "T:\\arduino-1.8.12\\hardware\\teensy\\avr/cores/teensy4" "T:\\TEMP\\arduino_build_Functions.ino" "T:\\arduino-1.8.12\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -x c++-header -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10600 -DARDUINO_TEENSY41 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr/cores/teensy4" "T:\\TEMP\\arduino_build_Functions.ino/pch/Arduino.h" -o "T:\\TEMP\\arduino_build_Functions.ino/pch/Arduino.h.gch"
    "T:\\arduino-1.8.12\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10600 -DARDUINO_TEENSY41 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IT:\\TEMP\\arduino_build_Functions.ino/pch" "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\cores\\teensy4" "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\libraries\\USBHost_t36" "-IT:\\tCode\\libraries\\TeensyASIXEthernet" "-IT:\\arduino-1.8.12\\hardware\\teensy\\avr\\libraries\\TeensyThreads" "-IT:\\tCode\\libraries\\FNET\\src" "T:\\TEMP\\arduino_build_Functions.ino\\sketch\\Functions.ino.cpp" -o "T:\\TEMP\\arduino_build_Functions.ino\\sketch\\Functions.ino.cpp.o"
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:26:32: error: variable or field 'dhcp_cln_callback_updated' declared void
     void dhcp_cln_callback_updated(fnet_dhcp_cln_desc_t _dhcp_desc, fnet_netif_desc_t netif, void *p ) { //Called when DHCP updates
                                    ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:26:32: error: 'fnet_dhcp_cln_desc_t' was not declared in this scope
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:26:65: error: 'fnet_netif_desc_t' was not declared in this scope
     void dhcp_cln_callback_updated(fnet_dhcp_cln_desc_t _dhcp_desc, fnet_netif_desc_t netif, void *p ) { //Called when DHCP updates
                                                                     ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:26:90: error: expected primary-expression before 'void'
     void dhcp_cln_callback_updated(fnet_dhcp_cln_desc_t _dhcp_desc, fnet_netif_desc_t netif, void *p ) { //Called when DHCP updates
                                                                                              ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:147:19: error: variable or field 'handleOutput' declared void
     void handleOutput(fnet_netif_t *netif, fnet_netbuf_t *nb) { //Called when a message is sent
                       ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:147:19: error: 'fnet_netif_t' was not declared in this scope
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:147:33: error: 'netif' was not declared in this scope
     void handleOutput(fnet_netif_t *netif, fnet_netbuf_t *nb) { //Called when a message is sent
                                     ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:147:40: error: 'fnet_netbuf_t' was not declared in this scope
     void handleOutput(fnet_netif_t *netif, fnet_netbuf_t *nb) { //Called when a message is sent
                                            ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:147:55: error: 'nb' was not declared in this scope
     void handleOutput(fnet_netif_t *netif, fnet_netbuf_t *nb) { //Called when a message is sent
                                                           ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:256:26: error: variable or field 'handleGetMACAddress' declared void
     void handleGetMACAddress(fnet_mac_addr_t * hw_addr) { //Gets called everytime a message is sent
                              ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:256:26: error: 'fnet_mac_addr_t' was not declared in this scope
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:256:44: error: 'hw_addr' was not declared in this scope
     void handleGetMACAddress(fnet_mac_addr_t * hw_addr) { //Gets called everytime a message is sent
                                                ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:277:20: error: variable or field 'handlePHYRead' declared void
     void handlePHYRead(fnet_uint32_t reg_addr, fnet_uint16_t *data) { //Could be called, don't think it works correctly
                        ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:277:20: error: 'fnet_uint32_t' was not declared in this scope
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:277:44: error: 'fnet_uint16_t' was not declared in this scope
     void handlePHYRead(fnet_uint32_t reg_addr, fnet_uint16_t *data) { //Could be called, don't think it works correctly
                                                ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:277:59: error: 'data' was not declared in this scope
     void handlePHYRead(fnet_uint32_t reg_addr, fnet_uint16_t *data) { //Could be called, don't think it works correctly
                                                               ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:285:21: error: variable or field 'handlePHYWrite' declared void
     void handlePHYWrite(fnet_uint32_t reg_addr, fnet_uint16_t data) { //Could be called, might work correctly
                         ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:285:21: error: 'fnet_uint32_t' was not declared in this scope
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:285:45: error: 'fnet_uint16_t' was not declared in this scope
     void handlePHYWrite(fnet_uint32_t reg_addr, fnet_uint16_t data) { //Could be called, might work correctly
                                                 ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:291:26: error: variable or field 'handleMulticastJoin' declared void
     void handleMulticastJoin(fnet_netif_t *netif, fnet_mac_addr_t multicast_addr) { //Called when joining multicast group
                              ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:291:26: error: 'fnet_netif_t' was not declared in this scope
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:291:40: error: 'netif' was not declared in this scope
     void handleMulticastJoin(fnet_netif_t *netif, fnet_mac_addr_t multicast_addr) { //Called when joining multicast group
                                            ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:291:47: error: 'fnet_mac_addr_t' was not declared in this scope
     void handleMulticastJoin(fnet_netif_t *netif, fnet_mac_addr_t multicast_addr) { //Called when joining multicast group
                                                   ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:310:27: error: variable or field 'handleMulticastLeave' declared void
     void handleMulticastLeave(fnet_netif_t *netif, fnet_mac_addr_t multicast_addr) { //Called when leaving multicast group
                               ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:310:27: error: 'fnet_netif_t' was not declared in this scope
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:310:41: error: 'netif' was not declared in this scope
     void handleMulticastLeave(fnet_netif_t *netif, fnet_mac_addr_t multicast_addr) { //Called when leaving multicast group
                                             ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:310:48: error: 'fnet_mac_addr_t' was not declared in this scope
     void handleMulticastLeave(fnet_netif_t *netif, fnet_mac_addr_t multicast_addr) { //Called when leaving multicast group
                                                    ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:335:1: error: 'fnet_bool_t' does not name a type
     fnet_bool_t handleIsConnected() {
     ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:363:44: error: variable or field 'bench_srv_callback_session_end' declared void
     static void bench_srv_callback_session_end(fnet_bench_srv_desc_t desc, const struct fnet_bench_srv_result *bench_srv_result, void *cookie) {
                                                ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:363:44: error: 'fnet_bench_srv_desc_t' was not declared in this scope
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:363:72: error: expected primary-expression before 'const'
     static void bench_srv_callback_session_end(fnet_bench_srv_desc_t desc, const struct fnet_bench_srv_result *bench_srv_result, void *cookie) {
                                                                            ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:363:126: error: expected primary-expression before 'void'
     static void bench_srv_callback_session_end(fnet_bench_srv_desc_t desc, const struct fnet_bench_srv_result *bench_srv_result, void *cookie) {
                                                                                                                                  ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:508:44: error: variable or field 'bench_cln_callback_session_end' declared void
     static void bench_cln_callback_session_end(fnet_bench_cln_desc_t bench_cln_desc, const fnet_bench_cln_result_t *bench_cln_result, void *cookie){
                                                ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:508:44: error: 'fnet_bench_cln_desc_t' was not declared in this scope
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:508:82: error: expected primary-expression before 'const'
     static void bench_cln_callback_session_end(fnet_bench_cln_desc_t bench_cln_desc, const fnet_bench_cln_result_t *bench_cln_result, void *cookie){
                                                                                      ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:508:131: error: expected primary-expression before 'void'
     static void bench_cln_callback_session_end(fnet_bench_cln_desc_t bench_cln_desc, const fnet_bench_cln_result_t *bench_cln_result, void *cookie){
                                                                                                                                       ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\ASIXEthernet_Test.ino:31:1: error: 'fnet_return_t' does not name a type
     fnet_return_t teensy_mutex_init(fnet_mutex_t *mutex) {
     ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\ASIXEthernet_Test.ino:45:27: error: variable or field 'teensy_mutex_release' declared void
     void teensy_mutex_release(fnet_mutex_t *mutex) {
                               ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\ASIXEthernet_Test.ino:45:27: error: 'fnet_mutex_t' was not declared in this scope
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\ASIXEthernet_Test.ino:45:41: error: 'mutex' was not declared in this scope
     void teensy_mutex_release(fnet_mutex_t *mutex) {
                                             ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\ASIXEthernet_Test.ino:51:24: error: variable or field 'teensy_mutex_lock' declared void
     void teensy_mutex_lock(fnet_mutex_t *mutex) {
                            ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\ASIXEthernet_Test.ino:51:24: error: 'fnet_mutex_t' was not declared in this scope
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\ASIXEthernet_Test.ino:51:38: error: 'mutex' was not declared in this scope
     void teensy_mutex_lock(fnet_mutex_t *mutex) {
                                          ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\ASIXEthernet_Test.ino:69:26: error: variable or field 'teensy_mutex_unlock' declared void
     void teensy_mutex_unlock(fnet_mutex_t *mutex) {
                              ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\ASIXEthernet_Test.ino:69:26: error: 'fnet_mutex_t' was not declared in this scope
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\ASIXEthernet_Test.ino:69:40: error: 'mutex' was not declared in this scope
     void teensy_mutex_unlock(fnet_mutex_t *mutex) {
                                            ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\ASIXEthernet_Test.ino:94:1: error: 'fnet_time_t' does not name a type
     fnet_time_t timer_get_ms(void){ //Used for multi-thread version
     ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino: In function 'void usbthread()':
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:6:5: error: 'myusb' was not declared in this scope
         myusb.Task();
         ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:7:5: error: 'asix1' was not declared in this scope
         asix1.read();
         ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:9:34: error: 'current_netif' was not declared in this scope
         if(fnet_netif_is_initialized(current_netif)){
                                      ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:9:47: error: 'fnet_netif_is_initialized' was not declared in this scope
         if(fnet_netif_is_initialized(current_netif)){
                                                   ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:10:17: error: 'fnet_poll' was not declared in this scope
           fnet_poll();
                     ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:11:25: error: 'fnet_service_poll' was not declared in this scope
           fnet_service_poll();
                             ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:20:7: error: 'threads' was not declared in this scope
           threads.yield();
           ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino: At global scope:
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:26:32: error: variable or field 'dhcp_cln_callback_updated' declared void
     void dhcp_cln_callback_updated(fnet_dhcp_cln_desc_t _dhcp_desc, fnet_netif_desc_t netif, void *p ) { //Called when DHCP updates
                                    ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:26:32: error: 'fnet_dhcp_cln_desc_t' was not declared in this scope
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:26:65: error: 'fnet_netif_desc_t' was not declared in this scope
     void dhcp_cln_callback_updated(fnet_dhcp_cln_desc_t _dhcp_desc, fnet_netif_desc_t netif, void *p ) { //Called when DHCP updates
                                                                     ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:26:90: error: expected primary-expression before 'void'
     void dhcp_cln_callback_updated(fnet_dhcp_cln_desc_t _dhcp_desc, fnet_netif_desc_t netif, void *p ) { //Called when DHCP updates
                                                                                              ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino: In function 'void checkLink()':
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:83:6: error: 'asix1' was not declared in this scope
       if(asix1.connected && fnet_dhcp_cln_is_enabled(dhcp_desc)){
          ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:83:50: error: 'dhcp_desc' was not declared in this scope
       if(asix1.connected && fnet_dhcp_cln_is_enabled(dhcp_desc)){
                                                      ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:83:59: error: 'fnet_dhcp_cln_is_enabled' was not declared in this scope
       if(asix1.connected && fnet_dhcp_cln_is_enabled(dhcp_desc)){
                                                               ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:87:33: error: aggregate 'checkLink()::fnet_init_params init_params' has incomplete type and cannot be defined
         struct fnet_init_params     init_params;
                                     ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:89:18: error: 'fnet_timer_api_t' does not name a type
         static const fnet_timer_api_t timer_api = { //Setup multi-thread timer
                      ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:94:31: error: 'stack_heap' was not declared in this scope
         init_params.netheap_ptr = stack_heap;
                                   ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:96:30: error: 'teensy_mutex_api' was not declared in this scope
         init_params.mutex_api = &teensy_mutex_api;
                                  ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:97:30: error: 'timer_api' was not declared in this scope
         init_params.timer_api = &timer_api;
                                  ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:99:31: error: 'fnet_init' was not declared in this scope
         if (fnet_init(&init_params) != FNET_ERR) {
                                   ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:99:36: error: 'FNET_ERR' was not declared in this scope
         if (fnet_init(&init_params) != FNET_ERR) {
                                        ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:104:26: error: 'FNET_CPU_USB0_IF' was not declared in this scope
           if(fnet_netif_init(FNET_CPU_USB0_IF, MacAddress, 6) != FNET_ERR){
                              ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:104:44: error: 'MacAddress' was not declared in this scope
           if(fnet_netif_init(FNET_CPU_USB0_IF, MacAddress, 6) != FNET_ERR){
                                                ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:104:57: error: 'fnet_netif_init' was not declared in this scope
           if(fnet_netif_init(FNET_CPU_USB0_IF, MacAddress, 6) != FNET_ERR){
                                                             ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:106:13: error: 'current_netif' was not declared in this scope
             if((current_netif = fnet_netif_get_default()) == 0){
                 ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:106:52: error: 'fnet_netif_get_default' was not declared in this scope
             if((current_netif = fnet_netif_get_default()) == 0){
                                                        ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:111:57: error: 'fnet_memset_zero' was not declared in this scope
               fnet_memset_zero(&dhcp_desc, sizeof(dhcp_desc));
                                                             ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:112:29: error: 'dhcp_params' was not declared in this scope
               fnet_memset_zero(&dhcp_params, sizeof(dhcp_params));
                                 ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:115:58: error: 'fnet_dhcp_cln_init' was not declared in this scope
               if((dhcp_desc = fnet_dhcp_cln_init(&dhcp_params))){
                                                              ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:117:60: error: 'dhcp_cln_callback_updated' was not declared in this scope
                  fnet_dhcp_cln_set_callback_updated(dhcp_desc, dhcp_cln_callback_updated, (void*)dhcp_desc);
                                                                ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:117:103: error: 'fnet_dhcp_cln_set_callback_updated' was not declared in this scope
                  fnet_dhcp_cln_set_callback_updated(dhcp_desc, dhcp_cln_callback_updated, (void*)dhcp_desc);
                                                                                                           ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:118:104: error: 'fnet_dhcp_cln_set_callback_discover' was not declared in this scope
                  fnet_dhcp_cln_set_callback_discover(dhcp_desc, dhcp_cln_callback_updated, (void*)dhcp_desc);
                                                                                                            ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:137:36: error: 'fnet_dhcp_cln_release' was not declared in this scope
         fnet_dhcp_cln_release(dhcp_desc);
                                        ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:138:50: error: 'fnet_memset_zero' was not declared in this scope
         fnet_memset_zero(dhcp_desc, sizeof(dhcp_desc));
                                                      ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:140:18: error: 'fnet_release' was not declared in this scope
         fnet_release();
                      ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino: At global scope:
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:147:19: error: variable or field 'handleOutput' declared void
     void handleOutput(fnet_netif_t *netif, fnet_netbuf_t *nb) { //Called when a message is sent
                       ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:147:19: error: 'fnet_netif_t' was not declared in this scope
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:147:33: error: 'netif' was not declared in this scope
     void handleOutput(fnet_netif_t *netif, fnet_netbuf_t *nb) { //Called when a message is sent
                                     ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:147:40: error: 'fnet_netbuf_t' was not declared in this scope
     void handleOutput(fnet_netif_t *netif, fnet_netbuf_t *nb) { //Called when a message is sent
                                            ^
    T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\Functions.ino:147:55: error: 'nb' was not declared in this scope
     void handleOutput(fnet_netif_t *netif, fnet_netbuf_t *nb) { //Called when a message is sent
                                                           ^
    In file included from T:\tCode\libraries\FNET\src/stack/fnet_socket.h:30:0,
                     from T:\tCode\libraries\FNET\src/stack/fnet_stack.h:32,
                     from T:\tCode\libraries\FNET\src/fnet.h:36,
                     from T:\tCode\libraries\FNET\examples\ASIXEthernet_Test\ASIXEthernet_Test.ino:7:
    T:\tCode\libraries\FNET\src/stack/fnet_ip6.h:35:8: error: expected declaration before end of line
     FNET_COMP_PACKED_BEGIN
            ^
    Using library USBHost_t36 at version 0.1 in folder: T:\arduino-1.8.12\hardware\teensy\avr\libraries\USBHost_t36 
    Using library TeensyASIXEthernet in folder: T:\tCode\libraries\TeensyASIXEthernet (legacy)
    Using library TeensyThreads at version 1.0.1 in folder: T:\arduino-1.8.12\hardware\teensy\avr\libraries\TeensyThreads 
    Using library FNET at version 0.1.3 in folder: T:\tCode\libraries\FNET 
    exit status 1
    [Finished in 13.3s with exit code 1]
    [shell_cmd: .\Compile.cmd 1]
    [dir: T:\tCode\libraries\FNET\examples\ASIXEthernet_Test]
    // …

  16. #241
    Senior Member
    Join Date
    Oct 2017
    Location
    Houston
    Posts
    447
    Click image for larger version. 

Name:	IMG_3736.JPG 
Views:	16 
Size:	116.4 KB 
ID:	19991

    Completed next regression test, BNO080 on SPI. Looks fine, running Sparkfun BNO080 lib, sample quaternion output:

    .01,-0.02,0.44,0.90,3.14,19.89Hz
    0.01,-0.02,0.44,0.90,3.14,19.89Hz
    0.01,-0.03,0.44,0.90,3.14,19.89Hz
    -0.00,-0.03,0.44,0.90,3.14,19.89Hz
    -0.00,-0.03,0.44,0.90,3.14,19.89Hz
    -0.00,-0.03,0.44,0.90,3.14,19.89Hz
    -0.00,-0.03,0.44,0.90,3.14,19.89Hz
    0.00,-0.03,0.44,0.90,3.14,19.89Hz
    0.00,-0.03,0.44,0.90,3.14,19.90Hz
    0.00,-0.03,0.44,0.90,3.14,19.90Hz
    0.00,-0.03,0.44,0.90,3.14,19.90Hz
    0.00,-0.03,0.44,0.90,3.14,19.90Hz
    0.00,-0.03,0.44,0.90,3.14,19.90Hz

  17. #242
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    22,250
    I have a few more beta 4.1 boards available. Again, these are only for people on the list on msg #1. Two of them are the earliest hand soldered (except the BGA) beta boards, so all the pins probably work (including all power & ground) but they had less rigorous testing because the bed-of-nails test didn't exist at that time.

    If you're on the list and want to jump into the beta test, email me as mentioned in msg #1.

  18. #243
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Location
    Ayer Massachussetts
    Posts
    3,763
    Quote Originally Posted by PaulStoffregen View Post
    I can also confirm PJRC will be selling the RAM chip (for $1 - as a separate item DIY soldering required) when we release Teensy 4.1. Hopefully that will make things easier.
    I wonder, whether down the road whether it would be worth it to sell Teensy 4.1's at an extra cost with the ram and/or flash chips soldered on to the board, much like you do with boards with pre-soldered pins.

    Note, I'm talking about much later, when the stay at home restrictions are lifted. I don't want to cause more work now.

    As I've mentioned before, one of the reasons I gravitated towards the Teensy during the first kickstarter, was I was pretty bad at soldering. I have gotten better over the years, and in fact I'm about to go and solder a flash chip on to my Teensy 4.1 I have to imagine there is a market for chips with larger flash memories (and psram as well), but I don't have a handle on how big the market is. It may be rather tiny, or perhaps it may open up new doors for Teensy 4.1 sales.

    Of course it doesn't have to be something PJRC.COM does. I could imagine small shops buying the Teensys doing the soldering and selling the board with soldering at a markup. I would suspect also including the Audio Shield, since I do seem things every so often on people getting nervous about the small amount of through hole soldering for the audio shield. However, I really can't see a price point where it would allow the store to make any money that most people would be willing to buy.

    Note below, take every thing I say with a grain of salt. My role in business is strictly as somebody who buys stuff. There may be issues I haven't thought about. I'm probably also starting to go squirrely from being in lock down mode. Fortunately since I'm a programmer, I am one of the lucky ones that can work from home.

    I also wonder about sales in the near term. In the past, I would typically buy Teensys from Adafruit (since I generally can order it on Wednesday and get it by Friday), and I can combine it with whatever new shiny Adafruit is offering. If I was getting other things, I might go to Digikey instead. Digikey seems to buy about 1/2 of their Teensys from Adafruit, and 1/2 from Sparkfun. And at times, of course I've ordered directly from PJRC.COM. Usually though I go with Adafruit or Digikey, because I'm often buying other things than just the Teensy. Also, with PJRC.COM in the left coast, it just takes longer to get to me without paying overnight mail prices.

    With Adafruit currently switching to making critical medical electronics and masks/gowns, I suspect it might be some time before Digikey gets stock from them.

    Sparkfun I don't know about. Their last Covid-19 update was in March. In theory they are still shipping (albeit maybe slower), but that could change in the future. In terms of cases per million, Colorado is currently 13th (Massachusetts where I live is #3 after New York and New Jersey), so if there is a surge, it might just be starting.

    So my speculation is for the near term, those of us that want Teensy 4.1s, will need to go directly to PJRC.COM. Not a big deal for those of us in the USA. It may be a bigger deal for people outside of the USA, who buy from Adafruit/Sparkfun redistributors.

  19. #244
    Senior Member
    Join Date
    Aug 2017
    Posts
    298
    Quote Originally Posted by MichaelMeissner View Post
    I wonder, whether down the road whether it would be worth it to sell Teensy 4.1's at an extra cost with the ram and/or flash chips soldered on to the board, much like you do with boards with pre-soldered pins.

    Note, I'm talking about much later, when the stay at home restrictions are lifted. I don't want to cause more work now.

    As I've mentioned before, one of the reasons I gravitated towards the Teensy during the first kickstarter, was I was pretty bad at soldering. I have gotten better over the years, and in fact I'm about to go and solder a flash chip on to my Teensy 4.1 I have to imagine there is a market for chips with larger flash memories (and psram as well), but I don't have a handle on how big the market is. It may be rather tiny, or perhaps it may open up new doors for Teensy 4.1 sales.

    Of course it doesn't have to be something PJRC.COM does. I could imagine small shops buying the Teensys doing the soldering and selling the board with soldering at a markup. I would suspect also including the Audio Shield, since I do seem things every so often on people getting nervous about the small amount of through hole soldering for the audio shield. However, I really can't see a price point where it would allow the store to make any money that most people would be willing to buy.

    Note below, take every thing I say with a grain of salt. My role in business is strictly as somebody who buys stuff. There may be issues I haven't thought about. I'm probably also starting to go squirrely from being in lock down mode. Fortunately since I'm a programmer, I am one of the lucky ones that can work from home.

    I also wonder about sales in the near term. In the past, I would typically buy Teensys from Adafruit (since I generally can order it on Wednesday and get it by Friday), and I can combine it with whatever new shiny Adafruit is offering. If I was getting other things, I might go to Digikey instead. Digikey seems to buy about 1/2 of their Teensys from Adafruit, and 1/2 from Sparkfun. And at times, of course I've ordered directly from PJRC.COM. Usually though I go with Adafruit or Digikey, because I'm often buying other things than just the Teensy. Also, with PJRC.COM in the left coast, it just takes longer to get to me without paying overnight mail prices.

    With Adafruit currently switching to making critical medical electronics and masks/gowns, I suspect it might be some time before Digikey gets stock from them.

    Sparkfun I don't know about. Their last Covid-19 update was in March. In theory they are still shipping (albeit maybe slower), but that could change in the future. In terms of cases per million, Colorado is currently 13th (Massachusetts where I live is #3 after New York and New Jersey), so if there is a surge, it might just be starting.

    So my speculation is for the near term, those of us that want Teensy 4.1s, will need to go directly to PJRC.COM. Not a big deal for those of us in the USA. It may be a bigger deal for people outside of the USA, who buy from Adafruit/Sparkfun redistributors.
    Michael,

    I am with you but for a different reason. I live in Washington State and we are not as severely compromised as you are. I think due to the situation with Covid-19 everything is going to take time and people know it. People are going to have get used to a new lifestyle for a while yet. I envy the fact that you are programmer and deal with this new hardware with ease. Before I got older and could not solder without shaking and raising all kids of havoc with PC boards I used to do point to point soldering on boards I designed. I programmed In assembly language on the old stuff like Z80's and such. That time has passed. In a nutshell I kind of rely on pre-assembled devices. So for me I will wait for the chance to buy devices that require no soldering. Which if I am right you are looking for to.

    Hopefully I am not out of line or off topic here

  20. #245
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Location
    Ayer Massachussetts
    Posts
    3,763
    Quote Originally Posted by wwatson View Post
    Michael,

    I am with you but for a different reason. I live in Washington State and we are not as severely compromised as you are. I think due to the situation with Covid-19 everything is going to take time and people know it. People are going to have get used to a new lifestyle for a while yet. I envy the fact that you are programmer and deal with this new hardware with ease. Before I got older and could not solder without shaking and raising all kids of havoc with PC boards I used to do point to point soldering on boards I designed. I programmed In assembly language on the old stuff like Z80's and such. That time has passed. In a nutshell I kind of rely on pre-assembled devices. So for me I will wait for the chance to buy devices that require no soldering. Which if I am right you are looking for to.

    Hopefully I am not out of line or off topic here
    Well it is more, I currently have passed the threshold and I can occasionally solder SOIC-8 chips now, and solder through hole pins is somewhat easier. But there are nights when I use more solder wick to clean up mistakes than solder. And I've had a few Teensies that I destroyed via soldering (mostly having some pads come off, so it could be used for other things, but some were wrecked).

    But I do recall that before I got the skill, I was relying on pre-soldered boards/shields as well. And at times I do have trouble seeing the fine pins (63rd birthday was last week). I was mostly posting to plant a bug in Paul's ear about possible models for the 4.1 release.

    And I do get distracted. I was planning to do it tonight, and I got caught having a long conversation in Facebook private messages with a friend, and didn't do the soldering.

  21. #246
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    22,250
    Whether we offer a Teensy 4.1 with pre-installed memory chip will of course depend on demand, but how essential extra memory becomes is also a big factor. We already have 1 megabyte on chip. I suppose this is the moment for jokes about "640K will be enough for everyone".

    Even 1 very compelling library or application that truly requires larger memory will probably be the deciding factor. Experience with this optional memory on Teensy 4.1 will probably also play a large factor in the design of the next Teensy with the RT1170 chip (which has 2MB on chip, though 512K is tightly coupled to the M7 core and 256K is tightly coupled to the M4 core, with the rest usable by either).

    At this moment just getting Teensy 4.1 released is taking all our time & attention. So yeah, better to bring this up later, like a month after the product has been released. By then we'll probably have this thread closed, so talk of future stuff here will probably never be seen again. Best to bring it up in the suggestions area.

    But I can tell you one of the many behind-the-scenes issues that came up with 4.1 was how we've communicated with the contract manufacturers. We've had some learning experiences about things which you'd think could be handled by email really must be done with in person meetings. Whether they could populate these chips on just a portion of a batch is exactly that sort of thing. Just yesterday Robin & I were talking about making time (perhaps early and having our 2 employees start an hour later) on certain days so we can both physically go there and meet. So yeah, we'll probably need to wait until this covid19 situation has improved. Hopefully it will recede in the summer.

  22. #247
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Location
    Ayer Massachussetts
    Posts
    3,763
    Quote Originally Posted by PaulStoffregen View Post
    Whether we offer a Teensy 4.1 with pre-installed memory chip will of course depend on demand, but how essential extra memory becomes is also a big factor. We already have 1 megabyte on chip. I suppose this is the moment for jokes about "640K will be enough for everyone".

    Even 1 very compelling library or application that truly requires larger memory will probably be the deciding factor. Experience with this optional memory on Teensy 4.1 will probably also play a large factor in the design of the next Teensy with the RT1170 chip (which has 2MB on chip, though 512K is tightly coupled to the M7 core and 256K is tightly coupled to the M4 core, with the rest usable by either).

    At this moment just getting Teensy 4.1 released is taking all our time & attention. So yeah, better to bring this up later, like a month after the product has been released. By then we'll probably have this thread closed, so talk of future stuff here will probably never be seen again. Best to bring it up in the suggestions area.

    But I can tell you one of the many behind-the-scenes issues that came up with 4.1 was how we've communicated with the contract manufacturers. We've had some learning experiences about things which you'd think could be handled by email really must be done with in person meetings. Whether they could populate these chips on just a portion of a batch is exactly that sort of thing. Just yesterday Robin & I were talking about making time (perhaps early and having our 2 employees start an hour later) on certain days so we can both physically go there and meet. So yeah, we'll probably need to wait until this covid19 situation has improved. Hopefully it will recede in the summer.
    Thanks for the update. Two possible big apps come to mind:
    • One is for a high end sound processing system where you need memory to hold the various sounds. There were threads in the last month about using the flash memory for holding multiple voices for processing;
    • Another is for self contained neopixel displays that might need more storage to hold the patterns, and more memory the keep the copy of the LEDs state in memory.


    Now, I don't do such big things, but I'm wondering if it might be worthwhile to have a much larger audio shield, to handle at least quad outputs (or more, 4 parallel outputs for I2S, plus I2S2, dunno about S/PDIF). The trouble of a "Field of Dreams" approach (i.e. if you build it, they will come) is sometimes the customers will come, sometimes not. I do agree a big app is probably needed.

  23. #248
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    7,097
    So far during the Beta of the 4.1, one case that I was able to make use of the larger memory was for a frame buffer for the ILI9488 display.
    In SPI mode the display has 18 bit color which is sent over SPI as 24 bits per pixel. And since 3 bytes per pixel is not overly fun to play with nor you can not do DMA operations of 24 bits per transfer, I created the frame buffer to be 32 bits per pixel, so the DMA transfers 32 bits at a time to the SPI TDR register. The Spi transfer is setup to do 24 bit outputs from SPI...
    So 320*480*4=614400 which does not fit in 512KB of either RAM1 or RAM2... But nicely fits in the external RAM. This version is nice as we don't have to do ISRs to convert the 16 bit data into 24 bits while the display updating.

    Later could easily add in double buffering. Currently test sketch does get ISR on Frame complete and Half frame complete and I have the code updating the display in the half that I know won't be touched... But could simply setup two buffers and either have the code keep switching buffers, or could actually setup the DMA operations have both of them in the DMASettings chain and have the user code know when it switches from one logical screen to the other and have the user code then draw the other frame...

    As for extra Flash. I am not sure. I wonder with 8MB of main flash, if we could somehow have the ability to reserve a portion of that area as a flash drive, in much the way that EEPROM emulation already reserves some of it.

  24. #249
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    5,458
    Quote Originally Posted by KurtE View Post
    So far during the Beta of the 4.1, one case that I was able to make use of the larger memory was for a frame buffer for the ILI9488 display.
    In SPI mode the display has 18 bit color which is sent over SPI as 24 bits per pixel. And since 3 bytes per pixel is not overly fun to play with nor you can not do DMA operations of 24 bits per transfer, I created the frame buffer to be 32 bits per pixel, so the DMA transfers 32 bits at a time to the SPI TDR register. The Spi transfer is setup to do 24 bit outputs from SPI...
    So 320*480*4=614400 which does not fit in 512KB of either RAM1 or RAM2... But nicely fits in the external RAM. This version is nice as we don't have to do ISRs to convert the 16 bit data into 24 bits while the display updating.

    Later could easily add in double buffering. Currently test sketch does get ISR on Frame complete and Half frame complete and I have the code updating the display in the half that I know won't be touched... But could simply setup two buffers and either have the code keep switching buffers, or could actually setup the DMA operations have both of them in the DMASettings chain and have the user code know when it switches from one logical screen to the other and have the user code then draw the other frame...

    As for extra Flash. I am not sure. I wonder with 8MB of main flash, if we could somehow have the ability to reserve a portion of that area as a flash drive, in much the way that EEPROM emulation already reserves some of it.
    Along the same lines if doing 3d graphics with multiple objects will eventually need to implement a Z-buffer which could make use of the extra RAM. Also, with the potential of using the extra RAM for arrays using that special malloc case you mentioned.

    I agree with @KurtE on the use of the extra FLASH to act like a flash drive. Was a little leery of SPIFFS but they grew on me as I was working with them.

  25. #250
    Senior Member
    Join Date
    Oct 2015
    Location
    Roma (IT, EU)
    Posts
    336
    Another benefit of extra RAM: video recording. With my OV7765 tests I would have liked 2x640KB buffers. Teensy 4.0 is plenty fast for that (3.6 was almost there).

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •