Hello,

I am trying to get bidirectional communication between my arduino and python script. Currently the arduino receives inputs from the python script when a user inputs a value. I would like the arduino to send 3 values back when it is not receiving something. These values are floats between 0 and 2Pi (in radians) accurate to the hundredth decimal.

My current method is to multiply these floats by 100 to remove the decimal (they can be divided by 100 on the python side later), convert them to a 10 bit value (leading zeros added if value is less than 10 bits), then concatenate them into a 32 entry long (4 bytes). I was hoping I could just do a Serial.write(buf,len) to send it over, but when I do I get the error

**no matching function for call to 'UARTClass::write(volatile long unsigned int [32], int)'**

My entire script is quite long, but here are the points of interest for this problem…

```
#include <math.h>
volatile unsigned long arm_angles_bin[32];
volatile unsigned int q1_remainder = 0;
volatile unsigned int q2_remainder = 0;
volatile unsigned int q0_remainder = 0;
volatile unsigned int q1_for_bit_math;
volatile unsigned int q2_for_bit_math;
volatile unsigned int q0_for_bit_math;
volatile unsigned long q1_as_bits[10];
volatile unsigned long q2_as_bits[10];
volatile unsigned long q0_as_bits[10];
void setup() {
//Serial stuff
Serial.begin(baudrate);
Serial.println("Ready");
}
void loop() {
while (Serial.available()) {
//do list of commands
}
if (!Serial.available()) {
//multiply by 100 to remove decimals
q1_for_bit_math = q1*100;
q2_for_bit_math = q2*100;
q0_for_bit_math = q0*100;
//Serial.print("q1: ");
//Serial.println(q1_for_bit_math);
//convert to binary
for (int i = 0; i < 10; i++) {
//angle 1
q1_remainder = q1_for_bit_math % 2;
q1_for_bit_math = (q1_for_bit_math - q1_remainder) / 2;
q1_as_bits[i] = q1_remainder;
//angle 2
q2_remainder = q2_for_bit_math % 2;
q2_for_bit_math = (q2_for_bit_math - q2_remainder) / 2;
q2_as_bits[i] = q2_remainder;
//angle 3
q0_remainder = q0_for_bit_math % 2;
q0_for_bit_math = (q0_for_bit_math - q0_remainder) / 2;
q0_as_bits[i] = q0_remainder;
arm_angles_bin[i] = q1_remainder;
arm_angles_bin[i+10] = q2_remainder;
arm_angles_bin[i+20] = q0_remainder;
//Serial.print(q1_as_bits[10-i]);
}
//Serial.println("");
q1_remainder = 0;
q2_remainder = 0;
q0_remainder = 0;
arm_angles_bin[31] = 0;
arm_angles_bin[30] = 0;
Serial.write(arm_angles_bin, 32)
}
```

I have tried adding #include <UARTClass.h> at the top and still receive the same error. Any thoughts on what the issue could be? Also I am not committed to the way I have this written, as long as I can send the 3 floats over from the arduino to the python script and still be able to receive data the other way around, any method will do.

Thank you in advance