
The Cocoa application. I am a little unclear on USB drivers and how the AMSerial software works, so the Arduino application must be open with the serial monitor running in order to function. Right now this project is in the 'It works but I'm not really sure why' stage.

The touchscreen circuit. I'll post schematics and references later. Only one axis is configured.
Snippet of code converts serial data (0 to 1024) to NSString representation of degrees, then sends data to the qcPatchController.
// data is NSData object taken from serial port. Converted to float
// for rotation
NSString* rotString = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
float rotVal = [rotString floatValue]/1024*400;
// Only accept rotation values between 0 degrees and 400 degrees
// Reduces trackpad and serial read errors, since
// 0 <= rotVal <= 400.
if(rotVal > 0 && rotVal < 400)
{
rotString = [NSString stringWithFormat:@"%f",rotVal];
[qcController setValue:rotString forKeyPath:@"patch.yrot.value"];
lastRotVal = rotVal;
}
Arduino Single Axis Touchscreen Code (singleaxistouchpad.c)
Arduino Touchpad (modified AMSerial) xCode project
1 comment:
hey, are you still doing stuff with objective-c and the arduino? I'm just getting up to speed on obj-c/cocoa and found your page after heading down the same path you did with AMSerial... it would be cool to see if you're doing anything along these lines still.
Post a Comment