From c1419b43ea354fa04360450ae4f64612df065099 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 14 Nov 2005 21:59:09 +0000 Subject: these pragmas are only used for MSVC, not MinGW or Cygwin, therefore changing the define from NT to _MSC_VER svn path=/trunk/externals/ggee/; revision=3903 --- control/serial_ms.c | 240 ++++++++++++++++++++++++++-------------------------- 1 file changed, 120 insertions(+), 120 deletions(-) (limited to 'control/serial_ms.c') diff --git a/control/serial_ms.c b/control/serial_ms.c index 723b8bf..b012fdf 100755 --- a/control/serial_ms.c +++ b/control/serial_ms.c @@ -1,120 +1,120 @@ -/* (C) Guenter Geiger */ - - -#include - - -static t_class *serial_ms_class; - - -typedef struct _serial_ms -{ - t_object x_obj; - char x_c[4]; - t_int x_count; - t_int x_posx; - t_int x_posy; - t_outlet *x_out2; -} t_serial_ms; - - -static void serial_ms_reset( t_serial_ms* x) -{ - x->x_posx=0; - x->x_posy=0; - x->x_count = 0; - outlet_float(x->x_obj.ob_outlet, x->x_posx); - outlet_float(x->x_out2, x->x_posy); -} - -static void serial_ms_init( t_serial_ms* x) -{ - t_atom cmd[8]; - - SETFLOAT(cmd,0.); - SETSYMBOL(cmd+1,gensym("CLOCAL")); - SETSYMBOL(cmd+2,gensym("CREAD")); - SETSYMBOL(cmd+3,gensym("CS7")); -/* SETSYMBOL(cmd+4,gensym("HUPCL")); */ - outlet_anything(x->x_out2,gensym("setcontrol"),4,cmd); - - SETFLOAT(cmd,0.); - SETSYMBOL(cmd+1,gensym("IGNBRK")); - SETSYMBOL(cmd+2,gensym("IGNPAR")); - outlet_anything(x->x_out2,gensym("setinput"),3,cmd); - - SETFLOAT(cmd,0.); - SETFLOAT(cmd+1,1.); - outlet_anything(x->x_out2,gensym("vtime"),2,cmd); - - SETFLOAT(cmd,1200.); - outlet_anything(x->x_out2,gensym("speed"),1,cmd); - - SETSYMBOL(cmd,gensym("*n")); - outlet_anything(x->x_out2,gensym("send"),1,cmd); - - - SETSYMBOL(cmd,gensym("N")); - outlet_anything(x->x_out2,gensym("send"),1,cmd); - - -} - - - -static void serial_ms_float( t_serial_ms* x,t_floatarg f) -{ - int dx,dy; - t_atom at[2]; - - x->x_c[x->x_count] = (char) f; - - x->x_count = (++x->x_count)%3; - - if (x->x_count==2) { - dx= (signed char)(((x->x_c[0] & 0x03) << 6) | - (x->x_c[1] & 0x3F)); - dy= (signed char)(((x->x_c[0] & 0x0C) << 4) | - (x->x_c[2] & 0x3F)); - x->x_posx += dx; - x->x_posy += dy; -/* post("posx %d, posy %d",x->x_posx,x->x_posy);*/ - - SETFLOAT(at,x->x_posx); - SETFLOAT(at+1,x->x_posy); - outlet_list(x->x_obj.ob_outlet,&s_list, 2, at); - } - - -} - - -static void *serial_ms_new(t_symbol *s) -{ - t_serial_ms *x = (t_serial_ms *)pd_new(serial_ms_class); - - x->x_count = 0; - x->x_posx = 0; - x->x_posy = 0; - - - outlet_new(&x->x_obj, &s_float); - x->x_out2 = outlet_new(&x->x_obj, &s_float); - - return x; -} - - -void serial_ms_setup(void) -{ - serial_ms_class = class_new(gensym("serial_ms"), (t_newmethod)serial_ms_new, - NULL, - sizeof(t_serial_ms), 0,A_DEFSYM,0); - class_addfloat(serial_ms_class,serial_ms_float); - class_addmethod(serial_ms_class,(t_method) serial_ms_reset,gensym("reset"),0); - class_addmethod(serial_ms_class, (t_method)serial_ms_init, gensym("init"),0); - - -} - - +/* (C) Guenter Geiger */ + + +#include + + +static t_class *serial_ms_class; + + +typedef struct _serial_ms +{ + t_object x_obj; + char x_c[4]; + t_int x_count; + t_int x_posx; + t_int x_posy; + t_outlet *x_out2; +} t_serial_ms; + + +static void serial_ms_reset( t_serial_ms* x) +{ + x->x_posx=0; + x->x_posy=0; + x->x_count = 0; + outlet_float(x->x_obj.ob_outlet, x->x_posx); + outlet_float(x->x_out2, x->x_posy); +} + +static void serial_ms_init( t_serial_ms* x) +{ + t_atom cmd[8]; + + SETFLOAT(cmd,0.); + SETSYMBOL(cmd+1,gensym("CLOCAL")); + SETSYMBOL(cmd+2,gensym("CREAD")); + SETSYMBOL(cmd+3,gensym("CS7")); +/* SETSYMBOL(cmd+4,gensym("HUPCL")); */ + outlet_anything(x->x_out2,gensym("setcontrol"),4,cmd); + + SETFLOAT(cmd,0.); + SETSYMBOL(cmd+1,gensym("IGNBRK")); + SETSYMBOL(cmd+2,gensym("IGNPAR")); + outlet_anything(x->x_out2,gensym("setinput"),3,cmd); + + SETFLOAT(cmd,0.); + SETFLOAT(cmd+1,1.); + outlet_anything(x->x_out2,gensym("vtime"),2,cmd); + + SETFLOAT(cmd,1200.); + outlet_anything(x->x_out2,gensym("speed"),1,cmd); + + SETSYMBOL(cmd,gensym("*n")); + outlet_anything(x->x_out2,gensym("send"),1,cmd); + + + SETSYMBOL(cmd,gensym("N")); + outlet_anything(x->x_out2,gensym("send"),1,cmd); + + +} + + + +static void serial_ms_float( t_serial_ms* x,t_floatarg f) +{ + int dx,dy; + t_atom at[2]; + + x->x_c[x->x_count] = (char) f; + + x->x_count = (++x->x_count)%3; + + if (x->x_count==2) { + dx= (signed char)(((x->x_c[0] & 0x03) << 6) | + (x->x_c[1] & 0x3F)); + dy= (signed char)(((x->x_c[0] & 0x0C) << 4) | + (x->x_c[2] & 0x3F)); + x->x_posx += dx; + x->x_posy += dy; +/* post("posx %d, posy %d",x->x_posx,x->x_posy);*/ + + SETFLOAT(at,x->x_posx); + SETFLOAT(at+1,x->x_posy); + outlet_list(x->x_obj.ob_outlet,&s_list, 2, at); + } + + +} + + +static void *serial_ms_new(t_symbol *s) +{ + t_serial_ms *x = (t_serial_ms *)pd_new(serial_ms_class); + + x->x_count = 0; + x->x_posx = 0; + x->x_posy = 0; + + + outlet_new(&x->x_obj, &s_float); + x->x_out2 = outlet_new(&x->x_obj, &s_float); + + return x; +} + + +void serial_ms_setup(void) +{ + serial_ms_class = class_new(gensym("serial_ms"), (t_newmethod)serial_ms_new, + NULL, + sizeof(t_serial_ms), 0,A_DEFSYM,0); + class_addfloat(serial_ms_class,serial_ms_float); + class_addmethod(serial_ms_class,(t_method) serial_ms_reset,gensym("reset"),0); + class_addmethod(serial_ms_class, (t_method)serial_ms_init, gensym("init"),0); + + +} + + -- cgit v1.2.1