void writeValues() { // Now comes the data // First: Sync byte which does not work buffer[0]; buffer[1]; // Now: Aileron int ail = buffer[2] & 3; ail = ail <<8; ail += buffer[3]; // now: Flaps int flaps = buffer[4] & 3; flaps = flaps <<8; flaps +=buffer[5]; // now: elevator int elev = buffer[6] & 3; elev = elev <<8; elev += buffer[7]; // now: Rudder int rud = buffer[8] & 3; rud = rud<<8; rud+= buffer[9]; // now: Throttle // We need some extra work here because // the DX6i sends its throttle data rather weird int thro = 0; if((buffer[10] & 128) == 128) { thro = buffer[10]; } else { thro = buffer[10] & 3; thro = thro<<8; thro+= buffer[11]; } // now: Gear int gear = buffer[12] & 3; gear = gear<<8; gear+= buffer[13]; throttlePin3.writeFine(thro); rudderPin4.writeFine(rud); elevatorPin5.writeFine(elev); aileronPin6.writeFine(ail); gearPin7.writeFine(gear); flapsPin8.writeFine(flaps); lastval = 255; }