2019-08-02 (F) Weekly Summary

Deciphering integers and characters one at a time is hard enough, but since I wanted to use both, it made sense to process both at the same time and extract the parts I wanted. For now, everything came through as characters since it was being sent from the Arduino serial monitor or PuTTY but eventually, some parts of the message will be integers.
Chars and ints at the same time

A protocol was started, which made it possible to control a single LED via the Bluetooth bridge. Sending commands one at a time by typing a command and hitting send was laborious, but automating it will make it much smoother.
Lights controlled wirelessly

The power to the LEDs won't be entirely reliable, so saving each of the colors would be critical when the strip loses power. A sizable array was created to record the red, green, and blue values for each of the nine-hundred lights. This broke the code.
Insufficient memory

I tried to break out the LEDs into three strips. My thought was that nine-hundred was just too much for a single array and the NeoPixel library choked on it, but a few instances of three-hundred would be all right. This didn't fix the problem, but I liked the simplicity of three strips instead of trying to connect all the LEDs in series.
Array of three LED strips

The code finally ran again when I reduced the total number of lights. The NeoPixel library wasn't choking, it was the controller starved for memory. There was no warning from the compiler that anything was wrong, but it seems that an Atmega328P is not up to the task of handling more than 450 LEDs.
Test sequence

A new controller, with more memory, was suddenly the most important thing to do. I started with an Adafruit M0 Bluefruit LE in the hope that the onboard BLE radio would provide a clean solution along with the battery charging circuit. It did not. I bought a second M0 Feather, and it will require the old Bluetooth module, but that code is already developing.
Controller purchases

The rest of the summary posts have been arranged by date.

First time here?

Completed projects from year 1
Completed projects from year 2
Completed projects from year 3
Completed projects from year 4
Completed projects from year 5
Completed projects from year 6

Disclaimer for http://24hourengineer.blogspot.com and 24HourEngineer.com

This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.

All information on this blog, or linked by this blog, is not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property, or similar, is the responsibility of those involved in the replication.

All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by  Brian McEvoy, cannot be used to claim property or assets.

Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim property or assets based on their post.

This blog, including pictures and text, is copyright to Brian McEvoy.