Teensy Qt

Never used diagnostic mode much - just Safe Mode to clean a computer then back to the real Windows on the few dozen computers I fix a year. Safe mode will disable more things - network and such. Good that it works there but nothing comes to mind as a clue for that. Doesn't use Java or any elaborate services I know of. Do you ever do anything with 'Qt' development that you might have an odd library around? Koromix would know more about dependencies and such. Open TaskMan and kill everything that doesn't look like a proper needed windows thing - stop services - see if anything stands out and 'evil'. Probably not this - Did you right click to 'unblock the exe? Run as administrator?
 
Just put on TeensyDuino 1.27 - if you Integrate to the Arduino IDE - it requires doing it again as TeensyDuino installs itself for that purpose. Also once that is done - the IDE must be restarted to work.

Easy to figure out - but if you have multiple Teensy units - after the TeensyDuino update it will pick one to upload too - and it may be the wrong one.
 
I can't get TyQt to run under Windows 7. I have installed both the 32-bit and 64-bit versions of 0.6.4 using the msi files and when I open a command window and type 'tyc help', the command window just locks up. Ctrl-c doesn't kill it. Task Manager can't kill it. I have to log off and log on to get rid of the process. tyqt does the same thing.

I have an idea of what's happening, it may have to do with the NT loader lock. Apparently a lot of Win32 and standard library functions are dangerous when called from a static constructor.

I pushed up a fix for this problem, a new build is available in the pre-release post.

@Koromix: nice work with TYQT ... as you may see in this thread, i've managed to create a little "hack" so I may monitor response curves of the teensys filters in the serial plotter. But as it is a hack and not a stable solution: do you have plans to integrate a (better) plotter in your tool? The main goal will be to have more control, what will be plotted and where ... well, just some immature thoughts ...

I completely missed the new serial plotter in Arduino. It's definitely something I can see in TyQt, but for 0.7.1 (0.7.0 will come soon). What kind of additional functionalities do you want:
- Labels and explicit scales?
- X, Y positioning?
 
Koromix: hopefully that is the fix for LAtimes, odd how it is selective. Again no faux apologies for getting more folks to know about TYQT. I saw plotting, but was going to wait - maybe ansi terminal option too.
 
I pushed up a fix for this problem, a new build is available in the pre-release post.

I have good news and bad news. The bad news is the fix did not make any difference. However, through much trial and error, I discovered it was my Antivirus program that was causing it. I added an exclusion for TYQT and now it works. Looking forward to trying it out :D.
 
I have good news and bad news. The bad news is the fix did not make any difference. However, through much trial and error, I discovered it was my Antivirus program that was causing it. I added an exclusion for TYQT and now it works. Looking forward to trying it out :D.
May I ask what antivirus it is? I'm curious as to why it happens. Last night's fix was hastily made, so maybe I missed something. Does "tyc help" still crash? Outside of the static constructors which I removed, it does absolutely nothing but detect "help", print usage and quit.
 
It is Avast antivirus. "tyc help" would lock up (0.6.3, 0.6.4, and yesterday's build). When it locks up, the first time it would create 3 processes called tyc, none of which could be killed. Running tyc again would create a 4th process. tyqt did the same thing - 3 processes the first time, then one each after that.
 
I just tried after installing Avast in a VM, at first nothing was happening and after a minute, TyQt started. tyc took less time, but still... From a quick look around the web, it looks like Avast DeepScreen may have something to do with it. This thing run "suspicious" executables in a sandbox for a few seconds to look for suspicious behavior. I disabled it, and it worked without delay after that.

I'm not sure why Avast thinks it's suspicious, or why it goes very bad on your computer. I build the executables from Linux using MinGW-w64-GCC 5.3.0, I keep the debug symbols in... Well I don't know. I guess the executable looks weird enough to trigger Avast. I'll try using something more "Windowsy" for actual releases. MSVC 2015 has improved a lot on the C99 side that it may be usable now.

Signing the executables... well that's a road I don't really wanna follow. Too small a tool.
 
Last edited:
I finally got a change to really use TYQT and it is great :cool:. Used the Monitors with a 3.1 and an LC. Love the integration with Teensyduino when using two instances.
 
TYQT ... it is great ... Love the integration with Teensyduino when using two instances.

Yes it is, a perfect complement to the Teensy. Much better than the workaround of multiple other (lesser) tools!

Koromix: If you are still looking for ver 1.0 features - it would be handy to use the Monitor feature on USB serial devices - like say you plugged in an ESP-8266 - but that could take Serial setup params - like a full replacement for Putty when you add the network connectivity ;-)

puttytyqt.png

Or Tera Term - may be a better model? <edit>
 
Last edited:
I've pushed a new build with support for Arduino 1.0.6, and some internal refactoring (hopefully with no apparent change). It is available in the usual pre-release post.

I finally got a change to really use TYQT and it is great :cool:. Used the Monitors with a 3.1 and an LC. Love the integration with Teensyduino when using two instances.

Thank you, glad you like it :)

Koromix: If you are still looking for ver 1.0 features - it would be handy to use the Monitor feature on USB serial devices - like say you plugged in an ESP-8266 - but that could take Serial setup params - like a full replacement for Putty when you add the network connectivity ;-)

I'm down for that, but it's low-priority for now, so probably not before months given my time schedule.
 
Koromix,
May I add a my short and simple wish list, please?
I'd like to have the monitor settings of the settings tab persistent. Actually, I have to go to the settings tab and check "Clear serial on reset" every time I start TyQt on my Mac. Next time it will be gone and I'll have to re-check it again.
 
I'd like to have the monitor settings of the settings tab persistent.

Currently there is no persistent storage in TYQT -

post #87:
I'm not sure in which order I will implement the rest, but this is what I'm thinking of:
- send file / dump serial to file (0.7.1)
- persistent preferences (0.7.2)
- board aliases (0.7.3)
- ignore board (0.7.4)
 
I'd like to have the monitor settings of the settings tab persistent. Actually, I have to go to the settings tab and check "Clear serial on reset" every time I start TyQt on my Mac. Next time it will be gone and I'll have to re-check it again.

As defragster said, this is something I wanted to implement later... But since I've already got some code for all of these features (send file, persistence, aliases... ignore board is basically replaced by the attach/detach function) I'll probably get them done for 0.7.0 anyway, and do a new batch of 'pre-releases' in the mean time.

So yeah, you can expect this to land next week.
 
I've just finished persistence and board aliasing. The implementation and UI details may change a little after this pre-release, but it's close to what I want. You can download the new build in the usual post.

To rename a board, just press F2 (or return on OSX) or double-click the board item.

tyqt-rename-board.png

Also, fun fact, I fixed the monitor "Send" button... which has never worked ^_^ I guess everyone just presses Return, or does not use this feature.

Edit: Just found out the rename shortcut on OSX is "Return".
 
Last edited:
Just installed it and everything works as promised. Thank you very much.

Just one question for my scientific curiosity: Is it normal that the serial number and the port name differ by +1? Serial number of my T3.1 is 253380 and it is enumerated as /dev/cu.usbmodem253381...
 
It is an OSX bug, where the device node is made from the USB serial number but with the last digit replaced by 1.

Paul worked around this bug with the 'serial = MAC * 10' workaround (around Teensyduino 1.19 IIRC) so that devices with similar MAC addresses don't conflict. Before that, Teensy #37523 and #37525 would conflict on /dev/cu.usbmodem37521, now they map to /dev/cu.usbmodem375231 and /dev/cu.usbmodem375251. The downside is that their USB serial numbers are 375230 and 375250.
 
This is a fantastic resource. Quick question: what is the best way to remove it or disable it after installation?

The reason I need to reverse the installation of ty-qt is that I am having trouble with device management in my linux system, and I persistently lose permissions for ttyACM0, which I need to sort out before proceeding further with TeensyQt.

EDIT: lose permission and then device completely disappears (board reported as missing by Tyqt)

((
Background just for completeness in posting: I have the udev rules installed, have membership to groups such as dialout, tty, serial and can get temporary access using something like "sudo chmod a+rw /dev/ttyACM0". I am using ubuntu on a chromebook under Crouton and think I have followed the advice under "Udev rule in Chrome OS overrides group for usb tty device (Arduino) #473" found at https://github.com/dnschneid/crouton/issues/473

The specific instructions are (found at https://github.com/dnschneid/crouton/wiki/udev:-manage-inserted-devices ):

Put files containing (only) the rules you need in /etc/udev/rules.d in the chroot.

In /etc/rc.local, add the lines

mkdir -p /run/udev/rules.d
cp /etc/udev/rules.d/*.rules /run/udev/rules.d
udevadm control --reload

(/run/udev is bind-mounted to the appropriate Chromium OS directory.)
))

Information on how to functionally uninstall ty-qt would be greatly appreciated.
 
Last edited:
Have you installed the udev rules file correctly? See step 2 on the Teensyduino download/install page.

Assuming you have installed TyQt from source using cmake, you need to go to the build directory and use the install_manifest.txt file to remove all traces of TyQt.

Code:
# cd /home/foo/ty/build
# sudo xargs rm < install_manifest.txt

With the default installation prefix, this is the list of files installed by "make install" (in bold the udev rules files) with the latest source:

Code:
/usr/local/lib/libty.so
/usr/local/lib/libty.a
/usr/local/include/ty.h
/usr/local/include/ty/board.h
/usr/local/include/ty/common.h
/usr/local/include/ty/device.h
/usr/local/include/ty/firmware.h
/usr/local/include/ty/system.h
/usr/local/include/ty/task.h
/usr/local/include/ty/thread.h
/usr/local/include/ty/timer.h
/usr/local/include/ty/version.h
[B]/usr/local/lib/udev/rules.d/49-teensy.rules[/B]
/usr/local/bin/tyc
/usr/local/bin/tyqt
/usr/local/share/applications/tyqt.desktop
 
Last edited:
Thanks for the quick reply. Well I have followed the instructions for Teensyduino you reference, correctly I can not be so sure! The existence of some other queries on running Arduino in the Crouton chroot environment suggests it may be more complicated. The setup was manageable under the Teensyduino environment, just had to repeatedly reset permissions to upload to the Teensy. With ty-qt, the ttyACM0 port would completely close and no upload possible.

I will keep playing.. perhaps in a "new" chroot to make sure I follow all the steps cleanly. But first I will finish the little project which I had just transferred from breadboard to soldered perfboard. This is what happens when you change 2 things at once! I will try the uninstall later today and see what is what.
 
Sorry I cannot help you more. I don't know anything about Chrome OS, other than it exists and is based on the Linux kernel :)
 
I've just released TyQt 0.7.0, because it's as good a time to make a release as any. The 0.6.3/pre-0.7.0 divide was getting annoying.

I haven't fixed the one thing I wanted to before releasing 0.7.0 (command-line multi-upload/reset/reboot) but it can come later. On the other hand, a lot of stuff that wasn't supposed to be in 0.7.0 was added, so it's not that bad.

Not much as changed since the last build, except a couple fixes related to board aliasing. However, the board settings from build TyQt-0.6.3-278-gf419560 won't be used in this release.
 
Last edited:
Back
Top