123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #import "AppController.h"
- #import "CommandWrapper.h"
- #define UCON64 "/usr/local/bin/ucon64"
- #define ROMFILE "/Users/david/Devel/arch/avr/code/quickdev16/roms/mrdo.smc"
- @implementation AppController
- - (id) init {
- [super init];
- NSLog(@"init");
- return self;
- }
- - (void)awakeFromNib {
- [textFieldLog setStringValue:@"Log field"];
- [textFieldInfo setStringValue:@"Info field"];
- NSLog(@"awakeFromNib");
- }
- - (IBAction)romUpload:(id)sender {
- NSLog(@"romUpload:");
- NSTask *ls=[[NSTask alloc] init];
- NSPipe *pipe=[[NSPipe alloc] init];
- NSFileHandle *handle;
-
- [ls setLaunchPath:@UCON64];
- [ls setArguments:[NSArray arrayWithObjects:@"-smc",@"--port=usb",@"--xquickdev16",@ROMFILE,nil]];
- [ls setStandardOutput:pipe];
- handle=[pipe fileHandleForReading];
-
- [ls launch];
-
- [NSThread detachNewThreadSelector:@selector(copyData:)
- toTarget:self withObject:handle];
-
- [pipe release];
- [ls release];
- }
- - (void)copyData:(NSFileHandle*)handle {
- NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
- NSData *data;
-
- while([data=[handle availableData] length]) { // until EOF (check reference)
- NSString *string=[[NSString alloc] initWithData:data
- encoding:NSASCIIStringEncoding];
-
- [textFieldLog setStringValue:string];
- [string release];
- }
-
- [pool release];
- }
- - (IBAction)romInfo:(id)sender {
- NSTask *ls=[[NSTask alloc] init];
- NSPipe *pipe=[[NSPipe alloc] init];
- NSFileHandle *handle;
- NSString *string;
- NSLog(@"romInfo");
-
- [ls setLaunchPath:@"/usr/local/bin/ucon64"];
- [ls setArguments:[NSArray arrayWithObjects:@ROMFILE,nil]];
- [ls setStandardOutput:pipe];
- handle=[pipe fileHandleForReading];
-
- [ls launch];
-
- string=[[NSString alloc] initWithData:[handle readDataToEndOfFile]
- encoding:NSASCIIStringEncoding]; // convert NSData -> NSString
-
- NSLog(@"romInfo: %@", string);
- [textFieldInfo setStringValue:string];
- [string retain];
- [pipe release];
- [ls release];
- }
- -(NSSize)windowWillResize:(NSWindow *)send toSize:(NSSize) framesize;
- {
- float w = framesize.width;
- float h = framesize.height;
- NSLog(@"called willResize %f x %f ",w,h);
-
- w = w*2;
- framesize.width = w;
- return framesize;
- }
- - (void) dealloc {
- NSLog(@"dealloc");
- [super dealloc];
-
- }
- @end
|