tonyc / open890 Goto Github PK
View Code? Open in Web Editor NEWA web-based remote UI for the Kenwood TS-890.
License: Other
A web-based remote UI for the Kenwood TS-890.
License: Other
Need to draw the SVG's at 2x width (1280px and 424px for the bandscope and audio scope respectively), but there's a bunch of other assumptions the SVGs are being made about their widths, so there's more work than I was expecting.
Basics:
Filter edges for the audio scope are currently not implemented.
This will allow displaying it in the passband filter spectrum
Span is shared between CENTER and AUTO SCROLL, but when switching to FIXED, the span is actually calculated, not set directly from a command response.
When switching from FIXED to CENTER, the radio does not send a new band scope span response, so the net result is the edge frequencies are incorrect.
Band scope span needs to be tracked independently for fixed mode.
afdsdfdsf
End goal: CI-built images for various RPI models that people can just directly burn to an SD card, and go.
I'd like Nerves to not take over the whole repo, but I've never used Nerves before, so this is a tracking issue/discussion for possibilities and options.
FF seems to get laggy, I think it's related to how I'm drawing the individual pips for the meters.
Need to figure out a different way of generating the pips or changing the classes. It might be more efficient to draw a cyan/red background behind a "window" of fixed pips, and then just dynamically adjust a single <rect>
's width behind the windows.
Hover over frequency and scroll? Specific digits?
It would be nice to have a simulator for the physical radio, which would allow the app to be demoed "offline", or perhaps also facilitate testing.
The simulator could operate at either the TCP or the Genserver level, and it should be able to keep some of its own state, while generating random fake bandscope data etc.
tedfsfsdfsdf
It would be super useful to have an "auto-start" option on a per-connection basis, and open890 would do so upon starting.
Would be cool to have it mobile/tablet friendly
Need to strip down the UI considerably and get the bare minimum fitting into a single screen.
Navigation via keyboard would be really useful.
Ideas
gl
for LSB, gu
for USB?Format: RM[P1][P3][P3][P3][P3]
ALC (1) should be tracked separately, 2-6 can be grouped together if need be.
P1:
P3 is 0000
through 0070
Needs UI/UX.
How is this distributed? Perhaps a docker image, or a single executable.
Probably need to set up CI/CD release process
Need to figure out how this will look and work.
Might need to use a in order to draw individual pixels, but also need to make it all line up with the spectrum.
How does this look on the UI?
It's nice but doesn't seem to help much when we've got something like Electron available for running and distributing the app.
MIX_ENV=prod mix release
Is there a way to capture PCM samples in the browser?
Required for full remote TX operation
Should be pretty easy once #19 is completed
There's a general desire to run or build open890 on Windows 10, but without using WSL.
If anyone is interested, you can try it out by downloading the Windows version of Elixir, checking out the code, and seeing if you can get it up and running.
If that works, then it should theoretically be possible to do a binary release using Github Actions automatically.
Not happy with all the whitespace and general layout.
Vertical gridlines should be drawn every span_khz / 10
khz
So if the span is 10 khz, the gridlines are drawn every 1 khz, and follow the frequency as it changes.
This is currently prevented in the UI, but the controllers need to prevent it as well.
The plumbing is all in place.
Mostly need to figure out playing PCM samples in the browser.
It looks like we can use low-speed versions of the DDn
commands, so USB support will mean more than just frequency and button state is available.
This may require fair amount of refactoring of the existing code, and probably need to create a USBConnection
module, and then also deal with any shared behavior between is and the TCPConnection
.
This also affects the LiveView components, as the bandscope and audio scope return far fewer buckets of data.
To the radio:
DD04
- Bandscope on, COM/USB, AI linkedDD12
- Filter scope on, COM/USB (Low cycle)From the radio:
DD2
- 20 buckets of bandscope dataDD3
- 19 buckets of filter scope dataBlocked by #50
Instead of setting ENV vars, there should be a basic UI that allows users to manage connections to the radio, start/stop them, etc.
Draw the actual frequency at the bottom of the scope, at every other gridline.
0
khz (e.g. 7.000
, then 7.002
, 7.004
for 10 khz span)It would be cool for the system to maintain a TCP connection to a packet cluster, and overlay spots on the band scope.
Allow the user to define their own buttons (e.g. PF1-9) to input a list of commands to execute.
Potentially also allow the buttons to be named.
Consider a WAIT or PAUSE pseudo-command to allow for the radio to settle in certain cases when needed.
Center mode functionality is mostly unimplemented since I use auto-scroll most of the time. Get basic passband display working on the band scope.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.