HDL-0108-RSCPT: Q&A Pt 2 [Quasi Transcript]

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”

  1. Q&A from Week 1 => Answers
    1. Also as a demonstration of flexibility and rapid development (22 hours dev total, here and there, only 1 week turn time)
    2. Many possible development paths from here… more on that in a moment…
  2. Deployment Plan
    1. Which PCs and platforms, who installer(s)?
      1. Run-only
      2. Development (perhaps all could be development?)
    2. Development to your needs:
      1. 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),
      2. In-House plus Assistance,
      3. Request General Feature Additions and maybe applicable to the open source software package,
      4. 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

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!

BTW … showing the buffer overflow caution note – just because this particular PC is already doing a bunch of live stuff during the time of this snapshot, so this indicator has been set pretty at a pretty low threshold to let the user know that memory consumption is increasing as the processing load is starting to outgrow the data consumption rate. Easy to remedy by adjusting a few buffer settings. Or just click the button to set the PAQ mode to single capture and let the buffer run down if you don’t need streaming view.

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).

Pulse is actually -200V (or a little more) – attenuator is 20:1 and channel setting only allows 10x as the closest setting – no transducer (because all transducers here are narrow band)

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)…

Full screen App, now with only 2 columns of charts. Shown with channels 2 and 8 zoomed in during live data stream. Don’t like something about the usability or layout or features? Plenty I’d love to update too. It’s barely alpha, and it’s demo! The concept is here. The options for your personalization are endless and easily accessible for tweaks or major changes.

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.

See the new section at the bottom left of the control button groups? Easy to add with the custom control JSON format scanned at software launch. The ADC command has been added. Right now, the result is just dumped to the Command Progress log output window. (Too small? Yeah, just update styling to your preference … see custom.css)

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