Table of Contents
Audience and Intent
Hands-On CTOs/CEOs/COOs/CFOs/(S)PMs => Interested in Cost-Effective, Quick-to-Develop Flexibility => Value-Generating Process Orientation (versus system endpoint) [For Developer Q&A Audience/Intent, see elsewhere, especially within the code itself]
because the user is:
- self-contained, highly capable, including development teams
- resourceful in honing in on specific formulations and solutions to specific product development track needs
- connected to end-user customers, as well as interconnected
2 Focal Points Now Beyond Big Picture “Audience & Intent”
- Q&A from Week 1 => Answers
- Also as a demonstration of flexibility and rapid development (22 hours dev total, here and there, only 1 week turn time)
- Many possible development paths from here… more on that in a moment…
- Deployment Plan
- Which PCs and platforms, who installer(s)?
- Run-only
- Development (perhaps all could be development?)
- Development to your needs:
- In-House (no help or demos even needed – could provide core functional code, or yeah even the demos, to programmers and they could run with it),
- In-House plus Assistance,
- Request General Feature Additions and maybe applicable to the open source software package,
- Dev For Hire specific solutions demo’d or added to a custom in-house-only fork or to the general package, if in-house specific
- Which PCs and platforms, who installer(s)?
Q&A From Week 1 => Answers
Windows (8.1 Pro VM) Run-Time (Since dev was on Mac OS X) & Development: Yes
- See build notes in software documentation (for devs)
- Auto-build in script in source => easy to re-package, or just run in dev mode, also easy
- Same codebase (source)
Programmable Timing Refinement (Scratching the Surface) for Capture Cleanup: Yes
See live demo for best idea, along with zoom in.
Note that you get to see more detail here in this hardware and software, so you can observe more!
Variable Frequency Pulse Pattern and Shaping: Yes
Basic example shown here. “Endless possibilities” Some dependence on board components, just population and tuning choices. Easy to rework as standard. Can provide model for rework. Yes, easy to implement software controls/knobs/selectors etc. for real-time or programmable changes (like multi-pulse patterns over the same real-estate). Implement drop-in Lattice SPI IP or roll your own with config shift register (pins already set up for such a thing currently).
Multi-Channel Live Charting: Yes
Yep – fairly straightforward to draft this. Just re-using the main chart block of the first demo you saw. Demonstrating the point of building with this framework. The demo software, as illustrated here, includes demo blocks of D3 charting library, built for our data needs, including zooming functionality. Each of the multi-charts here is capable of the same zooming. Yep, all are live streaming. Yep, plenty of room to add all kinds of features. Same deal: dev in-house, with or without assistance, or request a generally useful feature addition, or maybe dev for hire (maybe a starting draft) to suite your specific needs.
Note the responsive (scalable, flex layout with screen-size adaptive sizing and stacking) layout of the channel graph blocks. You can easily adjust the sizing and stacking of the graph blocks with a few code tweaks. Here, we leverage materializecss.
Delete “m6” and reload and restart the channel scan by clicking that button (details on button clicks elsewhere)…
And now filling the screen you have larger charts in 2 columns. Or maybe you want to add a UI/UX control to change the layout on the fly. All doable in code, fairly straightforward.
Whatever little detail you don’t like about the layout, it’s easy to tweak to your satisfaction. And, given lots of time, I’d personally love to adjust all sorts of things about this myself – probably several adjustments will come naturally as the priority list gets pared down. Several additions to zoom and data point labeling and axis grids too of course. You can easily run from here however to personalize to your preference. That’s the idea.
In this revision of the demo software, the frame rate for the multi-chart view is pretty low. Just the nature of things here. You can change this. Or change PCs. You can use this demo code to integrate the hardware into your own compiled-code software.
Auxiliary ADC Input: Yes
Yes, this works too. These tests worked with an SPI pin and programming (PGC and PGD) pins tied to the MCU nominally for other purposes. The caveats are noted in the updated demo MCU firmware. Usable range 0 to 3.3VDC. If you want to use 5VDC, please divide externally. Anything greater than 3.3VDC will just get shunted to the rail. At too high a current, it will probably zap the MCU, or at least the chosen pin by burning up the protection diode and then over-voltaging something.
You can have the ADC output formatted and sent or recorded wherever you need to. There are several options on the MCU itself for averaging and filtering the ADC measurement(s). Here are some code example screenshots supporting this addition:
Install, Deploy, Develop, Customize
- Maybe single POC for install dev &/or runtime?
- Initial Run-Time
- Then shortly, update to beta that’s a more ideal candidate for customization dev tracks or feature addition requests, etc.
- Flexibility of dev env on systems
- Make sure however to get at least a dev env for each OS set up
- Determine scalpel for what/when is in-house dev and specialty and what is general feature request