Category: Educational

BSA – Styling Native Controls

It is two controls with an identical border on the picture above. The button display the border correctly, while the ComboBox do not display the border at all. It does have a BorderBrush that I set, but it has no effect. This is quite common with build in native controls – it might be a…

Read the full article

BSA – Code Generator Results

And this is the result of the code generator. In C++ and C# you can use inheritance – simply use a base class for symbols, autogenerate a HMIButton_base and then create the final HMIButton manually – this is a nice way to allow autogenerated code while you still have the full manual control. C# have…

Read the full article

BSA – Assisting Code Generator in place

This example is the property list for Button. This is just an early draft, but as I added more properties to Button yesteday I realized that this would take some time with the number of components involved as every property require a bi of coding. So using a CSV file allow me to use Excel…

Read the full article

BSA – Generating Code

I am sitting setting up all the properties for the components and it is a bit of work for each component, so what I want to do is one of my usual tricks to code using Excel. Simply by creating a CSV list, read it into a C# app and generate all the property settings…

Read the full article

USB – Serial Debugger

This shows the moisture sensor from my previous entry with one exception – I added the USB Serial port. I have used various serial ports for debugging in the past, but never the USB despite I have always had it on my boards (almost always) – I simply never took the time to figure out…

Read the full article

BSA – Abstraction Layer

This block diagram only illustrate a few of the modules in the Abstraction Layer – loads of more will be added as needed. I started this library years ago so it has existed in various versions, but are re-designing it to be cleaner now. This is a C++ library designed to make coding of user…

Read the full article

SPI Error

This is an error! in my wisdom I decided to always select a SPI Flash not realizing that CS signal mark the beginning and end of each command. nCS needs to be connected to a GPIO pin for SPI based memory to work.

C# assign behavior

     double h = Height = newSize.Height; Height is a property with set and get functions in C#, so what I expected was that set Height was called first – which it does and then that get Height was called secondly – which it does not. In fact the assign operation will execute the…

Read the full article