nSineSamples[nIndex] = (uint32_t)sin(((2.0*(22.0/7.0))/600.0) * (float)nIndex)*4096.0;
Order of operations? (uint32_t)sin(x) will be almost always zero.
Try an extra set of parens:
(uint32_t) (sin(((2.0*(22.0/7.0))/600.0) * (float)nIndex)*4096.0);
nSineSamples[nIndex] = (uint32_t)sin(((2.0*(22.0/7.0))/600.0) * (float)nIndex)*4096.0;
Order of operations? (uint32_t)sin(x) will be almost always zero.
Try an extra set of parens:
(uint32_t) (sin(((2.0*(22.0/7.0))/600.0) * (float)nIndex)*4096.0);