Call for Beta Group

@ Simon - Your board just prompted the following, rather kickass, changes.

  1. There is now a complete stand-alone BIOS application that can run on any NETMF board, full stop. How does it work?

[ul]BIOS has zero dependencies
All libraries required for SD access are in the program space as binary data
BIOS attempts to load these in order
When BIOS detects a successful load it mounts the SD
BIOS then looks for a settings file
If non is found it will use a default one
The settings file can load: Gadgeteer Mainboards & Modules, Custom LCDs, Custom LCD drivers & settings, native touch, custom touch settings & drivers, ethernet, WiFi and network settings
Finally BIOS shells out to any application specified in the settings[/ul]

  1. EmbeddedIdeas driver kicks in after BIOS and updates any files needed on the SD (this includes the application, BIOS settings, ROME files, etc

  2. Combined these 2 will let you run any application on any device and be aware of which device youā€™re running on.

Excited yet?

1 Like

That sounds incredibly useful! Can we get it rolled into the NETMF core? :wink:

Just bring it in!

1 Like

Not because I have a specific project in mind, but this is something I would be willing to pay for. More details please, and sign me up for testing if you need.

I can put you in the beta. Everything is ready except I need to make a video, a Windows install and some docs before I send it out.

Iā€™ve got a contract for Skewworks I have to finish first, but Iā€™m still hoping to have that all done late tonight, otherwise it will be released tomorrow.

Hi Simon,

Any chance to see your LCD settings you used with the Newhaven 5" display. I am using the following that I used with the ChipworkX but it does not appear to be working with the G120.


lcdConfig.Width = 800;
lcdConfig.Height = 480;

//lcdConfig.PriorityEnable = false;

lcdConfig.OutputEnableIsFixed = false;
lcdConfig.OutputEnablePolarity = true;

lcdConfig.HorizontalSyncPolarity = true;
lcdConfig.VerticalSyncPolarity = true;
lcdConfig.PixelPolarity = false;

lcdConfig.HorizontalSyncPulseWidth = 1;
lcdConfig.HorizontalBackPorch = 92;
lcdConfig.HorizontalFrontPorch = 16;
lcdConfig.VerticalSyncPulseWidth = 4;
lcdConfig.VerticalBackPorch = 26;
lcdConfig.VerticalFrontPorch = 7;

lcdConfig.PixelClockRateKHz = 20000;

Here it is!



 var lcdConfig3 = new Configuration.LCD.Configurations();

                    lcdConfig3.Width = 800;
                    lcdConfig3.Height = 480;

                    lcdConfig3.OutputEnableIsFixed = true;
                    lcdConfig3.OutputEnablePolarity = true;

                    lcdConfig3.HorizontalSyncPolarity = false;
                    lcdConfig3.VerticalSyncPolarity = false;
                    lcdConfig3.PixelPolarity = true;

                    lcdConfig3.HorizontalSyncPulseWidth = 1;
                    lcdConfig3.HorizontalBackPorch = 88;
                    lcdConfig3.HorizontalFrontPorch = 40;
                    lcdConfig3.VerticalSyncPulseWidth = 3;
                    lcdConfig3.VerticalBackPorch = 32;
                    lcdConfig3.VerticalFrontPorch = 13;

                    lcdConfig3.PixelClockRateKHz = 25000;

                    if (Configuration.LCD.Set(lcdConfig3)) PowerState.RebootDevice(false);


Simon, a big thank you for this.

My timings were close but the issue was the fact that the new SDK disables the LCD on initial start but once I wrote them and rebooted, it worked. Your timings make for a nicer looking display.

This is so cool. :slight_smile: The attached image is a quick glide test and is installed in a test panel. The new clock panel will be a few weeks away yet but this is an encouraging start.

Now to start working on the touch driver!

Hurry not, unless you really like to do that. Iā€™m going to finish the touch driver tommorowā€¦

Little update on the beta.

Iā€™m currently running a Hydra thatā€™s loading each module of uSD card at boot with ROME and can update itā€™s programs off uSD (could over Ethernet too if I had it on this one).

How much is it running?
T35
6 Button
uSD
LiPo charger/monitor
USBSerial
FLASH
Temp&Humidity
Tunes
SerCam
Chucky

Yeah, so every single socket except #1 (Z) is used. And in the 3D printed case. :slight_smile:

In case you were wondering, this is still on the way.

Screenshots attached.

1 Like

I thought itā€™s canceled already :slight_smile:

Iā€™ve finally had a little time to return to NETMF. The latest update follows in the footsteps of Gadgetos which strives to be hardware independent. To that end when you create an instance of the Kernel youā€™re also able to add drivers for: Display, Touch, Power, Sound, Network, FileSystem, USB.

With this you can simply use an interface class to expose Gadgeteer Module methods/properties and use whatever you need.

Attached is a screenshot of the desktop. This system is using a T43, ENC28, Music, SD, RTC, Solder Monkey LiPo, USB and Compass module.

@ Skewworks - I think a video would tell significantly more.

When I have more to show. Most of the work has been backend stuff setting up to be able to handle a wide range on main boards and modules. The screens just mainly to let everyone know I havenā€™t completely abandoned the project :wink:

Major Improvements

[ol]TapHold is now handled directly by the TouchDriver (this stops controls/containers from spinning up new threads all the time to track hold)
Menus are pretty BAMF now, rather than the trickery used before there are proper controls which active/blur and cascade. (Meaning it works a lot better and faster than before)
Interfaces to the Kernel allow you to add any of the following to any Gadgeteer mainboard/module combo period: Display, FileSystem, Network, Power, RealTimeClock, Sound, Touch, USB[/ol]

Iā€™ll keep working and get a video when I can. :slight_smile:

1 Like

Hereā€™s a little teaser video. The system is booting up using drivers for Touch, Time, USB, FileSystem, Network, Registry and Power (LiPo monitor),. All settings are loaded from the Registry off the FS.

The controls you see are RetroDesktop, RetroTaskbar, ContextMenu, and TextBox. TextBox being the main focus, this version handles everything short of selections (which I may add at some point).

Thereā€™s a ton more to come, stay tuned. :smiley:

2 Likes

Looks interesting as always. I guess you are writing something on the screen, which I cannot read. Can you provide more details as to what it is you are creating?

Yeah, sorry for the poor video quality. Just moved and still havenā€™t unpacked regular camera, etc.

This project replaces everything Skewworks has put out in one neat little package. For example:

Tinkr & Clix: Slate provides every control you knew and more. Major core upgrades throughout, faster rendering and it works with a license so you can buy/unlock only the features you need.

Gadgetos: Slate offers a brand new way to load drivers so any system at all can run this. Weā€™ll supply drivers for all the major stuff, custom ones can be easily written for custom boards (just expose your code to an interface).

Pyxis: The new operating environment comes fully packed with touch, mouse, keyboard and custom IO support. Throw in the registry and a nice collection of premade apps and you can rock out a full windows like experience in literally two lines of code.

I canā€™t overstate the improvements made. Full multiline text editing and the fully redesigned on screen keyboard work like a dream. The new Theme engine makes customizing colors a breeze and youā€™ve got a choice of interfaces whether its Retro (windows 95 style), Modern (a la windows 8) or custom controls.

And you all thought I took the last nearly year off. :wink:

Looks like something MS wants to buy :clap: