I have found a solution: file.read() returns -1 after the SD card has been removed.
I didn't notice this previously because I was saving the return value from file.read() to a uint16_t.
So if I get -1 back from the read method, I only then...
I have worked on some versions of it. I believe it SD library version if it thinks you previously had media, it then asks the card
does it by asking the card for information (card->status())... Code is in SD.cpp...
If it did not previously have...
@KurtE - is this SD.mediaPresent() an item you worked out?
Is the p#1 issue possible from what it took to determine card presence? Expected that files closed before calling this?
Thought it was threads.delay()! Indeed that must be used to do a thread switch and not just put the current thread in a wait loop causing the thread to 'stall' until thread time expires.
Reading this goes back to lost time indicated in OP #1.
Are there any thread.delay() - or whatever the call is - to say I've done enough for now switch threads.
Long times assures a task isn't exited at a bad time - but cycling quicker would...
FlasherX definitely works on T4.1 with TD 1.57, 1.58, and 1.59. I can say that for sure because I've continued using it through all of these versions, including the betas, with no problems. I haven't used T3.5 in some time, but I think others are...
Opps - would not apply here - though T_3.5 does have some NVRAM bytes that could emulate this behavior ... with user code.
Though had this come to mind some time back on T_4.x in some situation - and oddity like this could be assisted.
Seems having the breadcrumb()'s is nice way to have 'static' storage of info across restarts. Even across warm restart and programming.
That could work even if the execution results in a HANG instead of a fault - where it would by design print...
Now have you tried to localize down exactly where it is hanging?
Like in the call to xyz->abc()...
Where maybe before each major call, put in. things like Serial.println("Before call ABC"); Serial.flush();
And find where it hangs?
Does the...
I'm not a fan of Arduino's architecture names. My general feeling is we need to make the best of a bad situation.
Even though all the Teensy 2 and Teensy 3 hardware is discontinued, we're still publishing software support. So today we're...
Sorted it out now thanks to both of you. In my defence I am an old git who does not clearly understand all the terminology, started using Ubuntu 15 years ago, it's a struggle to get things working, but worth it rather than Windows.
p#2 or p#3 should work. Looking at the example the 'reject bad touch' was used ... not had this active for some time and wasn't sure if a bogus touch would come through. Or how often it is proper to call that ...
The only issue might be the...
The TeensyDuino Installer is for the IDE ONE :: 1.8.19 versions - and only works when those IDE files are found.
For IDE TWO :: 2.3.2 the install comes through the Board Manager.
For install steps look here...
Can you run this example? >> "...\libraries\ILI9488_t3\examples\breakouttouchpaint\breakouttouchpaint.ino"
Looking at:
void loop()
{
// Retrieve a point
TSPoint p = ts.getPoint();
//...
// we have some minimum pressure we consider...
NO USB is an option - though that must not be desired.
Looking at arduino-1.8.19\hardware\teensy\avr\cores\teensy4\usb_desc.h:
There are a number of the USB options that do not include "SEREMU_INTERFACE"
Like this one and others: #if...
Looking at this item resold by PJRC: https://www.pjrc.com/store/cable_usb_host_t36.html. Some others only have four not the five pins that one does.
DMM shows one of the ground pins a GND pin within the connector and it shows the other GND...
70MB instead of 454MB
Downloaded
Defender BLOCKED - Reported Safe
Keep - Keep Anyway
Installed like Normal : Win 11 Pro - IDE 1.8.19
Built a couple of sketches to T_4.1 as Normal Good.
I didn't read enough to see the problem came from OTA usage.
If normal PRJC bootloader over USB works with the same code then something as @mjs513 ponders is going astray with the OTA usage.
@KurtE makes a good point with PRINT_DEBUG_STUFF maybe...
The point of the my comment was:
1. Determine if the issue with OTA updates with a simple sketch to try and isolate the issue with 1.57 and 1.59 to the Teensy 3.5
and
2. If OTA is working then have to see if the issue might be with I2C...
Since it is hanging and not doing the 8 second CrashReport Restart that won't help point out where it is dying.
Are the HANGS before setup() {pinmode and blink a pin/LED on entry with a delay} Or does it hang somewhere into setup() or beyond?
Can...
Hi everybody - Unfortunately I was stuck in some issues private nature (two Death Cases in the Fam.) and had no time yet to get into your 9 years old Project. Also I was at the GamesCom'24 and that was much exausting me due looking for Dev's who...
Pulled the changed Teensy3 7 UART Serial files over 1.60b1
>> For SerialEvent# with: Serial#.begin(115200, SERIAL_8N1);
T_3.2: Works Serial: 1,2,3
T_3.6: Works Serial: 3,4,5,6
Could be separate, but not placed any order or gotten Paul/Robin email lately even with a couple test emails sent. So wasn't sure Forum and Main are unique.
Yes, typically after some downloads reported KEEP/SAFE they come without blocking. Just...
Win 11 {huge} download was blocked, requested 'Keep' as above it isn't known by Windows Security / Microsoft Defender. And Reported it Safe.
Install ran:
Built two open sketches no problem in 1.8.19.
T_3.2 (and T_4.1) :: Confirmed...
Thx, p#2 suggested there were two deep 'bit lists {Pending .vs. Active}' but further post reading left room to wonder.
So that can help miss fewer interrupts - as long as the system can catch up clearing a 'backlog'
Yes, SysTick is Odd - it was...
No. The pending state is cleared right before entering the ISR and the corresponding "active" bit is set instead. Then when the ISR exits, the active bit is cleared.
Whether the interrupt can be set pending again during the ISR depends if it is...
Is this 'pending' the same state cleared when the interrupt service is marked complete on _isr exit?
That is if SysTick 'in progress' when the next SysTick triggers it won't interrupt immediately on exit?
ARM implemented a nice "tail chaining" optimization in the hardware, because it is a common case where 1 or more other interrupts are already pending (at the same or lower priority) when your interrupt finishes. Rather than restoring the...
What I believe he was suggesting, is to try out using the Adafruit SSD1306 driver, which even if that is not the driver you wish to use
it will help isolate the issues.
Looks like the display is setup to be 3.3v compatible.
Might help if you...
In case anyone's wondering about 1.60-beta1, I lost a couple days because an update broke my Yubikey-based code signing for Windows. Things used to be so much simpler when it was just files and I could build inside a virtual machine. Just now...
That isn't the driver seen in use - and that code doesn't show the i2c address (which is always confusing as 0x3c or 0x3d)
Found a sketch used here with a PJRC i2c demo board that starts like this:
#include <Wire.h>
#include <Adafruit_GFX.h>...
@jmarsh p#37 notes details on the cache - ideally the 32KB cache is designed to most effectively afford efficient access with minimal overreading and only writing back changed blocks. Profiling and use case might show the cache being less than...
First quick look, I don't understand why this?
Normally with DMA usage you would have the ADC or ADC_ETC trigger DMA only, and then DMA generates the interrupt when transfer is complete.
Searching for arm_dot_prod_q7 shows it does indeed exist. In CMSIS the floating-point and fixed-point types are indicated by f16, f32, f64, q31, q15, q7 in the function name...
But check the documentation, you might not be wanting fixed-point...
Best not to do prints from an ISR. That will invoke USB activity that is at a raised priority - and can cause collisions with other output elsewhere. Perhaps use a pin for Toggle on entry/exit.
If the _isr() were set at a higher priority then no...
PJRC Audio library makes extensive use of some ARM DSP for processing twin 16bit data sets in 32bit words. Not sure of the nature of those operations - but as @AndyA notes - it is worth looking into.
@jmarsh - was it a post you made showing at least one build/source edit that dropped ITCM code by some measurable amount? Having to do with C++ reservation or other [fault or output stubs?]?
It would be best to work on building to reduce the...
This thread appears to have a life of its own! Here is my 2 cents worth... Probably worth about that much:
If your arrays are initialized as part of the build process and are larger than can fit into RAM1 and as such you need to put them into...
A one line CORES edit can make the unused RAM1/ITCM 'padding' available as "READWRITE".
In the example above that area is over 30 KB - but can be less than 1KB depending on the build.
This risks self(virus)-modifying code or the dangers of...
It was always claimed 'Read Only' but worked when last checked with this code last edit Feb 2023.
...
// LAST PRINT
printf( "End of Free ITCM = %u [%X] \n", ptrFreeITCM + sizeofFreeITCM, ptrFreeITCM + sizeofFreeITCM);
// This now causes...
@Lesept ...
@Dogbone06 has put forth a design with 32 MB of SDRAM with PJRC Bootloader. There is a thread or two dedicated to that, as well as some other with display and camera usage. It is based on Teensy MicroMod since it uses a 16 MB Flash...
Not sure the value in getting the systick turned off - it will trigger 1K interrupts per second - but they couldn't be much shorter. Reading the ARM_DWT_CYCCNT takes about 3 cycles and ++ of the count about the same?
The ARM_DWT_CYCCNT count is...