clinker8's latest activity

  • C
    clinker8 replied to the thread t4.1 detect reboot type.
    The sym file is unsorted, kind of hard to make sense of it. I found the instruction in the lst file, which is readable, but I don't know where in the code (whose library) it is happening. Is there a way to make a sorted sym file? It's...
  • C
    clinker8 reacted to h4yn0nnym0u5e's post in the thread t4.1 detect reboot type with Like Like.
    That output usually means the access violation occurred in a library function - those don’t tend to have debug information available. You should find a .sym file in the same folder as the .elf, with a bit of digging around you should be able to...
  • C
    clinker8 replied to the thread t4.1 detect reboot type.
    @defragster [arm/bin] $ ./arm-none-eabi-addr2line -e ~/Library/Caches/arduino/sketches/C798958FCBDCA6AB7A9C28AB1D2FD52A/teensy-electronic-lead-screw.ino.elf 0x2179E ??:? [arm/bin] $ This is not enlightening, is it? ??:? what kind of answer is...
  • C
    clinker8 replied to the thread t4.1 detect reboot type.
    Well got another error during high speed operation. Fastest lathe speed, and fastest feed rate. The output is different than I've seen before. I know where the breadcrumbs are. (2,8) main loop after using an instance of elapsedMillis (3,4)...
    • PXL_20250407_001217859.jpg
  • C
    clinker8 replied to the thread t4.1 detect reboot type.
    Grand experiment starting. Have littered my code with breadcrumbs. Entered using an #if defined(mycrumbs). Breadcrumb(n,x); #endif. On the one hand, I hope I capture something so I have a clue where to look, and on the other hand, I hope...
  • C
    try tft.print(c); instead of tft.drawFontChar(c);
  • C
    Turns out that the write method, calls this one: size_t ILI9341_t3n::write(uint8_t c) { return write(&c, 1); } You can probably get rid o warning like: tft.write((const uint8_t *)&c, 1);
  • C
    This write method generates a warning about an invalid conversion. It may work, but the tft.print(c) seems adequate for my purpose. Now there's only two line wraps, which is a lot more readable. I'm at 8 point font though! But it's readable...
  • C
    Thanks, that worked. Now it is readable.
    • PXL_20250404_001723333.jpg
  • C
    I must say the formatting of the serial console and the display are very different. How can I make the display similar to the console. It seems that CR and LF aren't allowed for the display? How can I handle that? I just get a run on sentence...
  • C
    clinker8 replied to the thread t4.1 detect reboot type.
    I interspersed some bread crumbs all at level 2 with differing values in my loop code. So I have bread crumb (2,1) through (2,10) I'm trying to interpret the result. I forced an error in the main loop using elapsedMillis and then referencing a...
  • C
    This sort of works. I get it on the display and on the serial console. I don't understand the results. Think I will ask about that in a different thread.
  • C
    I recently experienced a Teensy crash/reset while controlling a motor on a lathe. Quite often, there isn't even a console attached, just an ILI9341. Trying to install bread crumbs and whatnot in my code now. I want to both write to serial AND...
  • C
    clinker8 replied to the thread t4.1 detect reboot type.
    Thanks for the insight. Hadn't appreciated the differing value settings to a single bread crumb. That's helpful. Since this is the first instance of this reset happening to me on code that has been running for 18 months, it's going to be...
  • C
    clinker8 replied to the thread t4.1 detect reboot type.
    While I am asking, how many bread crumbs can one place? In other words, what is the maximum number? #pragma once #include <Printable.h> #include <WString.h> class CrashReportClass: public Printable { public: virtual size_t printTo(Print&...
  • C
    clinker8 replied to the thread t4.1 detect reboot type.
    Thanks for the tips. I eventually found the CrashReport link and saved it. I will check out the addr2line utility as well. At the moment, I have no idea whether this was a loose connector problem, (mechanical), or a crash due to code. The day...
  • C
    clinker8 replied to the thread t4.1 detect reboot type.
    I unfortunately had a reset while in operation of my lathe while it was feeding, being controlled by a Teensy4.1. I need to find out if this was due to some bug that was introduced recently, or it was "merely" a loosely fitting USB connector...
  • C
    The Teensy’s MCU has four built-in quadrature encoders/decoders that may be useful to you. That could take some interrupt load off.
  • C
    IIRC _ @luni has a good library for such things.
  • C
    Understood about syncing to the power line and all. 10 Million ticks of the 600 MHz processor clock is 16.6666 ms. However, in my case I have a pre-existing 20ms timer, so two counts are 40ms. Good enough. 40ms is 25 Hz, which is a pretty...
  • C
    Well, thought about this, and came up with something simple. Pretty much what both of you said. I have a variable displaycount that is incremented every 20ms so the simple statement if ( (displaycount % 2 == 0) && ( (menu == 0)||(menu ==...
  • C
    Thanks for that clear and concise explanation. It's quite helpful. Need to digest that. Currently calling the function too often. I had implemented a counter like scheme for my RPM updates, probably should extend that to the display. My RPM...
  • C
    The tft display is updated normally only if the Z value has changed. So if no movement, there's no update. But if moving fast, I need to throttle talking to the display. And the rate that Z changes is dependent on what parameters the operator...
  • C
    I've used EncoderTool on my electronic lead screw project for my lathe, for both the rotary encoders and the linear quadrature encoders. The library is fast enough to keep up with my needs of 150K interrupts per second. That corresponds to 2200...
  • C
    I have an electronic lead screw system running on a Teensy4.1 which has been running for about a year and a half. It's been working amazingly well, far beyond my expectations. I'm adding some features and finding that I'm writing to the ILI9341...
    • callspersecond_estimator.png
    • Screenshot 2025-03-28 at 12.13.45 PM.png
  • C
    Thanks. Appreciate it. I implemented a variation of this, and my time base of measurements seems reasonable now. I've found some interesting things going on in the system (ELS) as a result. So this exercise has been very helpful.
  • C
    Is it just a simple call like auto t0 = HiResClock::now(); sufficient? And then if I want, I can use some method to put it into a usable format? Basically convert from auto to ns, or seconds, or whatever?
  • C
    Not always. Occasionally that doesn't happen, because I'm muxing several outputs together. Which is why I had to write a parsing routine to separate the parameters. # USBSerial1 time[us], ztogo Step, 3711407.260000 3713285.671667, 10.191...
Back
Top