The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
all e-papers do as far as I've seen. It's probably actually more power hungry this way, because what was a simple hardware component is now a complex piece of software running on a 240Mhz 32-bit processor
The one we're probably about to use is awesome, it has independent UARTs with internal self managed FIFOs for reading and writing, a Timer Capture interface that almost makes coffee... With respect to my experience with M0 and the current M3 it's truly luxury.
GCS d--(d-) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
In order to calculate sin(x), you must first reduce the argument by calculating y = fmod(x, Pi/2). This entails subtraction of two numbers that may be very close to each other, i.e. you may get catastrophic cancellation and loss of accuracy. In order to avoid this (even for relatively small numbers), you must use a more accurate version of Pi than can be contained in a double.
A high-quality floating-point library will perform the reduction at the highest accuracy for all finite values representable by double. This may be overkill for some embedded software (where, as you say, the angles may be small), but in that case there should be a way of indicating whether the result has any significance. Failure to do so can lead to some rather odd results...