Sailboat Support

I got a functional driver for my AS5048B I2C magnetometer, but I’m not sure that I’m handling semaphores correctly. I haven’t worked with multithreading before – should I use blocking semaphores for my I2C calls? Should I use that funky macro, WITH_SEMAPHORE?

You can view the source code I have up and running at the link below. After testing and validation, I’d love to submit a pull request to give other folks access to 0.02 degree wind resolution for $20.