Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

TeensyMaestro

18910111214»

Comments

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    TeensyMaestro V1.043 is now available on GitHub:

    *****************************V 1.043 * ***************************
      Implemented a better fix for paddle bounce.
      Added ability to add a fixed number of dit-lengths to word spacing.
      Added NFM to list of modes in the out of band function.
    

    Lasse, SM5GLC and Dave, W4WKU continued to have problems with their paddles "locking up" (i.e. TeensyMaestro missing a paddle closure). My original paddle bounce fix was a brute force delay and not a good solution. I re-thought the problem and now think that I have it resolved. Dave and Lasse did quite a bit of testing and have not had the problem with this new version. It has been hard for me to test as I don't have the issue with my paddles (Begali Simplex).

    My paddles do have contact bounce however, but the initial closure just happens to fit into the read timing for the input pin in a way that keeps me from seeing the issue. The fix implements a read loop that waits for a LOW condition on the pin before moving on. Now, if your contacts unluckily bounce open just before the read, another read comes along microseconds later to catch the next closure. With this new code, my paddles give me the minimum wait time of 5 us from closure to keying transistor output. A bad bounce might take 10 us or more to find a closure, but I doubt it will be more than 30. I allow for up to 100 us before the program gives up and moves on. What a learning experience...

    Dave suggested allowing a little wider word spacing on the CW memories, so I added a parameter to the MMConfig.ini file to allow 0 - 100 additional dit-lengths to be added to the default 7 dit-length word spacing. Dave had it at 3 and is thinking of moving it back to 2. This is not really farnsworth spacing, but is similar in concept and allows for a pretty fine level of control. This spacing does not affect any keying, other than the Teensy memories.

  • ct1drb
    ct1drb Member ✭✭

    Hello all,

    my best HNY 2024 with plenty of health as well.

    Today I got new Flexradio firmware, installed it and aparently everything well here, however, with the TeensyMaestro when I change the CW speed the panadaptor of the SmartSDR freezes for a while depending amount of speed I want to change, for instance if I am with 30 wpm and change to 29 wpm the freeze is short, if difference is bigger the freeze is bigger too.

    Changing cw speed at the Radio Controls works well and no freezing.

    Best 73 all.

    CT1DRB/OK8RB

    David Quental

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    Hi David, I will take a look at that when I get home from skiing this afternoon.

    Are you using V 1.043 of the TeensyMaestro?

  • ct1drb
    ct1drb Member ✭✭

    Hi Len,

    hmm that's cool, skiing.

    Ok, I am, V 1.043 here.

    Best 73 and enjoy Len.

    CT1DRB/OK8RB

    David Quental

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭

    Len, while you are debugging...

    It seems my TeensyMaestro always starts with 500 Hz step size... Why not use the value that SSDR have? And that goes for Audio too.... it always sets to 20 despite the value SSDR have (this is true for AGC-T too). Not sure if this is coz I'm still at 2.4.10??

    /Lasse

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    Hi Lasse, you can control step size with the MMConfig.ini file:

    ; CW/SSB Step index  0 1  2  3   4   5    6    7    8
    ; CW/SSB Step        1 10 50 100 500 1000 2000 3000 5000
    VFO A SSB Default Step: 3
    VFO B SSB Default Step: 3
    VFO A CW Default Step: 1
    VFO B CW Default Step: 1
    

    In this example my default is 100 Hz for SSB and 10 Hz for CW.

    I will have to look at the default audio and AGC-T values when I get home. Lifts are getting ready to open, so off I go!

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    From ct1drb:

    Today I got new Flexradio firmware, installed it and aparently everything well here, however, with the TeensyMaestro when I change the CW speed the panadaptor of the SmartSDR freezes for a while depending amount of speed I want to change, for instance if I am with 30 wpm and change to 29 wpm the freeze is short, if difference is bigger the freeze is bigger too.

    Hi David, I am back and playing with the CW speed control and I cannot reproduce the issue. I get virtually instant updates of CW speed when I turn the TeensyMaestro control. I get no panadapter slow downs or freezes. It works fine whether I turn on or off CWX Sync. I can turn the speed encoder as fast as I want without issues.

    After you upgraded to 3.6.8, did you do a cold boot of the radio? (turn off radio, wait 2 minutes, remove power at the connector, wait 2 minutes, re-apply power, start radio)

    If that is not it, what does your network status look like? Click on the little network status icon:

    If it is good or excellent, I wonder if the number of encoder steps is set correctly for your encoders.

    Vol A encoder steps: 4 ; number of encoder steps per detent click followed by N for normal or R for reverse
    Vol B encoder steps: 4
    AGC A encoder steps: 4
    AGC B encoder steps: 4
    Low A encoder steps: 4
    Low B encoder steps: 4
    High A encoder steps: 4
    High B encoder steps: 4
    CW encoder steps: 4
    

    Mine are 1:1 encoders (1 click = 1 value change) from Leo Bodnar, but most use the cheaper 4:1 (1 click = 4 value changes). The 4:1 encoder detent positions are always in a state where all switch contacts are open. In some designs, this is important. For the TeensyMaestro, it really doesn't matter.

    Is anyone else having this issue?

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭

    Len,

    I had my settings set by stupididty.... no problems with steps.

    Using the CW speed a lot and do not see any issues, but as I said, I'm on old SSDR 2.4.10

    73

    Lasse SM5GLC

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    Hi Lasse, I only set the volume to 20 and AGC-T to 33 if there is no GUI client (SmartSDR or a Maestro) to bind to. So if you bring up the TeensyMaestro before starting SmartSDR or a real Maestro, it plugs in audio and AGC-T values to prevent a blast of noise from the speakers.

    If you start a GUI client first, then start the TeensyMaestro, it will use the GUI client values.

    If this is not what you are seeing, let me know and I will look into it further.

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭

    Len,

    my guess is that this is because I am running the old SSDR. I usually bring up Teensy last, or I have SSDR to complain that there are another user, and I have to disconnect.

    No biggie, lets hope the new 2.X.Y will be here soon and have all fixes I need :) Still awaiting user reports on the new 3.6, esepecially regarding the CW issues.

    73

    Lasse SM5GLC

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    Hi Lasse, So far, 3.6.8 is excellent. I can confirm that the guaranteed way to break CW in the older versions is well and truly fixed in 3.6.8. I haven't heard of, nor have I seen any additional CW anomalies, so I feel pretty good about how it is working now. Also, the issues with split operation and VOX operation are fixed. I had more problems with split than I had with CW, but they both look very solid right now. I will try VOX in the next couple of days, but my initial testing looked very good.

    Now that you mention 2.4.10, I think that there was a change in the API after that regarding audio level, so you may be correct. Once Flex releases the new version 2 software, I will be interested to see if the TeensyMaestro behaves better for you.

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭

    Hi Len,

    yes there were some big changes 2.4->2.51 but that also brought the problems with CW. I was told by Flex support to stick with the old version..... Been a while now :)

    Now off to bed.

    73

    Lasse SM5GLC

  • KF5DEY
    KF5DEY Member ✭✭

    Lasse SM4GLC,

    I just got my boards and am going through the list of components...


    What is..

    L1,L2 L-Ferrite L_Wuerth_WE-TPC

    I know it is some kind of SMD ferrite inductor...but I have no idea the value, or the physical size...I think on the pads it is quite a large inductor.


    Also I assume the D1 diode doesn't need any specifics...just has to fit the SOT-23 size?


    Mike

    KF5DEY

  • Lasse SM5GLC
    Lasse SM5GLC Member ✭✭✭

    Mike,

    All those components are optional!

    The diode is just polarity protection, and the inductors would prevent RF in/out from the circuits. And if you intend to power the Teensy directly from the USB cable, you can leave all stuff from J25 Power-in to the POWER jumper J27.

    One important note: *NEVER* attach external power to J25 and leave the USB-cable attached, feeding the Teensy from two sources will destroy stuff and let the magic smoke out!

    Good Luck with the build

    /Lasse SM5GLC

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    Hi Mike, if you elect to power your TeensyMaestro using Lasse's power circuit, you will want to cut the VIN to VUSB trace on the Teensy board.

    From the PJRC website:

    There are a pair of rectangular pads on the underside next to the 5 V pin. They are connected by a small (really tiny) trace. If you cut that trace, you can safely power the circuit from Lasse's circuit while simultaneously connecting to your PC's USB port. When cutting the trace, be very careful - this is a 4 layer board with another trace directly below the one to be cut. On another project, I cut the trace with more of a scraping motion of a knifepoint to reduce the chances of cutting too deep.

    The way I power my TeensyMaestro is via the USB port (no trace cutting). I bought a USB panel-mount extension from Adafruit that works great to get a secure USB connection to the back of the case.

    Best of luck with your TeensyMaestro!

  • KF5DEY
    KF5DEY Member ✭✭

    Thanks, yea, I might as well just power the teensy direct.


    I have let too much magic smoke out of teensys already...

  • bsalyers
    bsalyers Member ✭✭
    I am about to start on my TeensyMaestro - I have all components and the case - any hints before I get started?
  • KD0RC
    KD0RC Member, Super Elmer Moderator

    Glad to hear it! It is a fun project (I may be a bit biased on that point…)

    Before you start building, download the Builder's Guide and User Manual. Read or skim through the Builder's Guide, especially section 4.2 regarding the placement of the Teensy board in the enclosure. If you bury the SD card too deep in the wiring, it will be difficult to make configuration changes. Another approach is to buy an SD card extension cable. That will make locating the Teensy board a bit less critical.

    I suggest loading the Teensy board with the latest version of the firmware (1.043 as of this post) before you do anything else. See section 2.2 of the Builder's Guide. With SmartSDR running, plug an ethernet cable from the Teensy to the ethernet connector into your LAN. Power up the Teensy board and it should connect to the radio. You will see a little pop-up window in the lower right-hand corner. This just verifies that the software loaded correctly and that you have proper connectivity to your radio.

    Going forward, you won't be second guessing if the Teensy is working, you will know that problems are likely with whatever component you connected last.

    I would wire in the display first. With it operational, you will be able to see the other controls as you wire them in (you will also see their action reflected in SmartSDR). Next, I would wire one or both of the multiplexer boards for the buttons so that you can see the button actions as you wire them in.

    The order that you wire in buttons and encoders is not critical, but do yourself a HUGE favor and test each component as you wire it in. If you get off by a pin as you go along, it could mean the difference between re-wiring one encoder or the whole lot. I did not do a good job of identifying the A and B side of the encoders (and I did not do it consistently), so you may get them backwards. Just swap them around if that happens.

    Please don't hesitate to ask questions here and keep us posted on your progress. Best of luck with your project!

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    TeensyMaestro V1.044 is now available on GitHub:

    https://github.com/KD0RC/Teensy-Maestro-for-Flex-6000-radios/releases/tag/V1.044

    *****************************V 1.044 ****************************
    Changed so that switching the mic (pin 52) does not change the mic profile unless in a phone mode (LSB, USB, FM, etc)
    

    Not much of a release this time… I discovered that my TeensyMaestro kept switching my mic profile when I was in RTTY mode. I finally realized that I needed to exclude automatic mic profile changes when in non-voice modes (bugs are so obvious once you see them…).

    I don't know of anyone besides me who has the mic switch as part of their TeensyMaestro. If you have it, please let me know how you like it. I find it invaluable when switching back and forth between my desk mic and headset. As a reminder, the mic switch is mounted on the TeensyMaestro and selects one of two mics. The magic is that it changes the mic profile whenever the switch position is changed.

    I know of a couple of people who have at least started the TeensyMaestro project. I would be interested to know how you are doing and if you are having any problems/successes with the build or operation. Pics are always appreciated here!

  • KC7OOY
    KC7OOY Member
    Any possibility of releasing the source code? I have a couple similar displays waiting for a project I could use, and would prefer to not buy another. If not, no worries. This looks like a fun project! Currently have most of the parts, just need to find some time to get building and 3d printing.

    ~Matt
    KC7OOY
    CN82
  • KD0RC
    KD0RC Member, Super Elmer Moderator
    edited December 23

    Hi Matt, the source is on the Github page under Releases. FlexRigTeensy is the library written by Enzo, IW7DMH with minor modifications by me. TeensyMaestroPlusKeyer is the source code itself.

    I think the amount of work to convert to a different display depends heavily on the display that you have. Compare the example code for your display to the statements that begin with "tft." in the TeensyMaestro code to get a sense of how similar or different they are. My HX8357 is 320 x 480 pixels. If your display is a different size, it will be a challenge to re-size everything. The fonts that I used may or may not be available on other displays, and that will affect the fitment of the items on the screen.

    Please post your progress (and pics) here. I am always interested to see what others have done with their version of the project!

    EDIT: Sorry, I forgot that the STMPE610 library (above) also needs to be included in your libraries. The Adafruit version has naming conflicts with the TSC2007 library, so I made the appropriate changes to allow both to be included in the program. If you elect to roll your own, I can help you with this aspect. It was a real pain when the manufacturer stopped producing the STMPE610 chips… I wrote the code so that regardless of which touch screen controller you use, the code will work the same without re-compiling.

  • KC7OOY
    KC7OOY Member
    Well, I'm not sure how I missed that! I have a couple with the same resolution, and luckily use Adafruit libraries. Well at least that's what I remember from when I got them years ago. Guess I'll dig them out and see!

    I'll will be posting what I come up with for sure. Working on a simple 3d printed case that uses a gear stack to mimic the dual shaft encoders. Hoping to slim it down a little, but we shall see how it turns out.

    Thanks again!
    Matt
    KC7OOY
    CN82
  • KD0RC
    KD0RC Member, Super Elmer Moderator

    Sounds good Matt. Some of the other Adafruit 3.5 inch, 320 x 480 displays are also based on the HX 8357 controller, so if that is what you have, it should work without modification to the code. I see that one of the displays has a built-in TSC2007 touch controller, so that should also work without modification.

    Good luck with your project!

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.