logic-analyzer
logic-analyzer copied to clipboard
Possible LA GUI changes.
Hi,
First, this is NOT an issue and like the LA processing frontend, you have created!
Now, I have made a few changes (still ongoing and testing) Would you be interested in them?
I have added a LA query option that will allow for:
- Give a name for the LA in use.
- Give the max amount of samples it can read.
- Tell the number of Lines it has.
- The line names (pins) can be set by the LA hardware.
- Give the highest baud rate it can run at.
The GUI now sends the query command to the LA and if the baud rate is different than the current one, it resets it. This is mainly for LA hardware that can easily do more than 115k. The line names sent back are used for the display. The display will be dynamically set for the number of lines (max of 8 for now) This is still on my to-do list but should be doable. Set the number of samples dynamically is still on the list to do as well.
I have added a status line to the bottom and set the window title bar with the current LA connected to it.
Let me know if you would care to use them.
Thanks for your work. Scott
Hi @jscottb feel free to improve the LA as you wish! just, if you made any changes in one of the board in Microcontroller_Code
please bring the same changes also to the other boards, otherwise it will be incompatible!
Edit: the only change I am not completely sure is the one about the baudrate, some board may have problems, which speed was you considering?
Sure will. I will be adding a board as well. The GD32V Risc-V. I'm using the LilyGo GD32V board for now, but I think I'll make a dedicated LA board for it at some point. The controller changes should be easy to roll in. I will clone the repo sometime soon and do that.
The baudrate change... Sorry I did not explain that well at all. The way it will work is: The GUI and the LA board will connect at the standard 115k base. The GUI will query the LA for it's info and that will include the running rate that the board wants to do sampling at. This can be lower, higher, or the same as the start baudrate. If the queried rate is different than the starting rate, then the LA board disconnects and reconnects at the rate it wants and the GUI does the same. It took a little code restructuring and handshaking, but I have this working in the new GUI with the Giga 32 board. It asks for a 230400 rate. This can be used for raising or lowering from the standard 115k.
Thanks.
The way it will work is: The GUI and the LA board will connect at the standard 115k base. The GUI will query the LA for it's info and that will include the running rate that the board wants to do sampling at. This can be lower, higher, or the same as the start baudrate. If the queried rate is different than the starting rate, then the LA board disconnects and reconnects at the rate it wants and the GUI does the same. It took a little code restructuring and handshaking, but I have this working in the new GUI with the Giga 32 board. It asks for a 230400 rate. This can be used for raising or lowering from the standard 115k.
Still I don't think that the improvements will pay for the code complexity, but it's your choise, but it will surely pay off if you are planning to make a new "mode" in which the LA works in real time
actually if I had time to come back to this project the first things I would like to change is the selection of the serial port directly from processing, choosing it from the code is quite cumberstone
btw: which core are you using for your GD32 board?
I have added it to a button that can wheel through the list returned from Serial.list() This is only if it can't find the one set in the code. I may add some code to save settings, including the serial port last used, and start with it as the default port.
I'm using the Giga devices GD32V framework.