Close

Make that a double Absinthe and a Hemlock chaser

A project log for Cardware

An educational system designed to bring AI and complex robotics into the home and school on a budget.

morningstarMorning.Star 10/17/2017 at 05:350 Comments

Massive problems with that as a concept.

Well the code works in theory, and testing the individual units together works, but I cannot get the ESP to sync with the Atmels properly. I think it may be to do with the mismatch in processor speeds, but I cannot get all three and the PC to sync up and send meaningful data to each other.

The pccore python code is fairly simple, all it does is accept and insert bytes from the terminal in a thread on its own, and passes packets not for itself. It deletes any for itself, and displays what is on the network. The PC has a USART with its RX and TX inserted into the chain after the ESP to make a square with a device on each corner - eventually this would be a RasPi or something - and the ESP would inject packets from the WiFi, which the Pi would be able to service.

As you can see, sending a packet from a processor to itself works with another processor connected to it;

That packet says from processor 4 (PC) to processor 4, sensor data, 255 255 255, and always works with at most one processor plugged into the chain. The processor reads the header and bounces it, and the PC deletes it when it comes back so it doesnt loop. In theory, a chain of hundreds of processors is possible, however, add another in the chain and it usually works, add a third, particularly the ESP and it fails with garbage returned, and I cannot figure out why. It isnt my code, I cant tell if it's Arduino's or a basic hardware issue so I'm going to have to abandon the idea.

Losing my processor solution this late in the game is a killer, I dont know what to do now other than directly hook 10 servos to one Atmel and drive them over a single RX TX serial link. I know from experience this will be rough and jerky, and probably fall over, but I have to try right?

Discussions