Monday, April 25, 2022

Brick Days Omaha 2022 Final Day

Today was the final day. This was a very positive experience and we thoroughly enjoyed our time here. Probably should have taken pictures on how I originally packed things.   Would have made it easier to tear down and pack.  This is one of the items on my to do list when we get back home.  Here are some final pictures of my Planetary Space Base.


Here are some more pictures of the MOCs on display.




Godzilla was a big hit with the grand children.








Next stop is Bricks By The Bay in June 23-26 2022 at the Santa Clara Convention Center.


Sunday, April 24, 2022

Brick Days Omaha 2022 Day 2

Day 2 was the first public day.  Attendance was very good and we had a steady stream of visitors all day.

Here is a picture of the hall



Here are some pictures of what was on display.







The highlight of the day was the light show for the builders.  After dinner, they turned of the lights in the hall for 30 minutes.  Quite a few of the MOCs had lighting of some kind, but a few had complete lighting systems, including ours.  Unfortunately the camera did not do justice to what was on display.

Friday, April 22, 2022

Brick Days Omaha 2022 Day 1

 Day ONE was mostly about setting up.  There were several DRAFT plays and an informal talk on Trains.  Finally towards the evening were several raffles for free goodies.

Always there are problems.  

  • The Space Port script needed updating.  It was only setup to run the antennas and not the lighting.  This was due to the wiring connection not being updated.  I had done this earlier.
  • The Vertical Generator space guns and their LEDs are not functioning.  I suspect the wiring was damaged as the cliff was attached.  This is something that needs investigating when we are here.
  • The Space Gun is resting and causing the program to stop.  I suspect this is because one of the smaller gun turrets is jamming and causing a power drop.  Something I can look into tomorrow.
  •  Minor issue, but I had to track down and ask for chairs.  It appears most people brought their own, so this was not a high priority for the organizers.  They did have a lot to do.

Here is a sequence of pictures as the Planetary Space Base assembles.

Aboce is the current center section.  This used to have the the tall control tower on it, but that has been moved.

This is the Vertical Power Generator section.

This shows the Vertical Power Generator attached to the center section.

Here is the Main Defence section being tested.


The Horizontal Power Generator attached to the center section.

And a wider view showing both Generators and the center section.

The next two pictures show the MOC assembled.


 

Here is a quick video of the entire setup completely assembled.



Wednesday, April 6, 2022

Working or Blogging?

 A very good question.  I would like to blog 4 to 5 times a week, but it never seems to happen.  There is always too much to do and never enough time to do it.

I have been working on cleaning up the code some more for the train PCBs.  By creating conditional compiles on the type of board, the amount of code that needs to be maintained has been reduced by almost half.  This is a good thing, since making updates and adding new features is much faster now.   The biggest change was to implement the Switch-Case structure using STATES in a cooperative multi-tasking model that is implemented in Harmony PIC32 code.  The next big change was to implement structures instead of random variables everywhere.  Again this is the standard in the Harmony implementations.  With PIC18s and limited RAM, you have be careful about instantiating these structures multiple times or you run out of memory quickly.  Judicious use makes the code much easier to maintain.  But this did not come for free.  It has taken time to work out these changes and then get them to work across the four PCBs the code runs on.

On thing that changed dramatically was the MiWi implementation.  I have been using the last non-libary version of the MiWi framework for PIC18.  Each PCB had its own implementation that may or may not be correct.  One configuration item I know I got wrong was correctly setting the coordinator device vs end device role.  This led to all kinds of issues on startup and trying to initialize the app sitting on top of the MiWi framework.  Sometimes it would come up and other times it would just spin.  So here is what I did.

First I created a module with a basic interface that starts and runs the MiWi framework.  Using multiple implementation examples, I condensed this down to several functions calls that handle this within the Switch-Case model.  These are:

MiWi _CreateNetwork is used by the coordinator device to create the network

MiWi_JoinNetwork is used by the end device to join an existing network

MiWi_AppTasks is used by both devices to service the MiWi framework through its various states, depending on the type of device.

There is a built in 10 second delay in joining an existing network, this gives time for the coordinator device to boot up.  This assumes that all devices power on at the same time, which is true in my train layout.  There are also two other support functions.

MiWi_ChannelScan is used by either device to scan all the channels and report the results.  This is a wrapper for the framework implementation.

MiWi_CountConnections is used by the coordinator to count the current number of connections.  I use this to determine if all the end devices have connected and then begin the application processes.

There are two states that are enumerated and one structure that contains all the information about the MiWi Network status and connections.

If you want to see the code, it can be download from the MyMakerTools website.