From ee5bf4d90f78673d1e4d5a9dd304ee53c503c085 Mon Sep 17 00:00:00 2001 From: imushir Date: Tue, 9 Feb 2016 16:38:27 +0530 Subject: Support for Servo motor for Arduino. Support for'diag' in c --- macros/Scilab-Arduino/GenerateSetupFunction.bin | Bin 4288 -> 4540 bytes macros/Scilab-Arduino/GetArduinoFunctions.bin | Bin 1832 -> 2100 bytes macros/Scilab-Arduino/GetArduinoFunctions.sci | 15 +-- macros/Scilab-Arduino/GetArduinoSetupFunctions.bin | Bin 1456 -> 1640 bytes macros/Scilab-Arduino/GetArduinoSetupFunctions.sci | 4 +- macros/Scilab-Arduino/InsertSetupInList.bin | Bin 6068 -> 6320 bytes macros/Scilab-Arduino/InsertSetupInList.sci | 118 +++++++++++---------- macros/Scilab-Arduino/lib | Bin 772 -> 768 bytes 8 files changed, 75 insertions(+), 62 deletions(-) (limited to 'macros/Scilab-Arduino') diff --git a/macros/Scilab-Arduino/GenerateSetupFunction.bin b/macros/Scilab-Arduino/GenerateSetupFunction.bin index 7a5052dc..ea2bdec3 100644 Binary files a/macros/Scilab-Arduino/GenerateSetupFunction.bin and b/macros/Scilab-Arduino/GenerateSetupFunction.bin differ diff --git a/macros/Scilab-Arduino/GetArduinoFunctions.bin b/macros/Scilab-Arduino/GetArduinoFunctions.bin index 82b0d456..fe9e2040 100644 Binary files a/macros/Scilab-Arduino/GetArduinoFunctions.bin and b/macros/Scilab-Arduino/GetArduinoFunctions.bin differ diff --git a/macros/Scilab-Arduino/GetArduinoFunctions.sci b/macros/Scilab-Arduino/GetArduinoFunctions.sci index 19d59ca4..1af351b6 100644 --- a/macros/Scilab-Arduino/GetArduinoFunctions.sci +++ b/macros/Scilab-Arduino/GetArduinoFunctions.sci @@ -12,11 +12,14 @@ function ArduinoFunctions = GetArduinoFunctions() // ----------------------------------------------------------------- ArduinoFunctions = [ - "cmd_digital_out" - "cmd_digital_in" - "cmd_analog_out" - "cmd_analog_in" - "cmd_dcmotor_setup" - "cmd_dcmotor_run"]; + "cmd_digital_out" + "cmd_digital_in" + "cmd_analog_out" + "cmd_analog_in" + "cmd_dcmotor_setup" + "cmd_dcmotor_run" + "cmd_servo_attach" + "cmd_servo_detach" + "cmd_servo_move"]; endfunction diff --git a/macros/Scilab-Arduino/GetArduinoSetupFunctions.bin b/macros/Scilab-Arduino/GetArduinoSetupFunctions.bin index 048da7d7..67f9fada 100644 Binary files a/macros/Scilab-Arduino/GetArduinoSetupFunctions.bin and b/macros/Scilab-Arduino/GetArduinoSetupFunctions.bin differ diff --git a/macros/Scilab-Arduino/GetArduinoSetupFunctions.sci b/macros/Scilab-Arduino/GetArduinoSetupFunctions.sci index f377d385..c992057b 100644 --- a/macros/Scilab-Arduino/GetArduinoSetupFunctions.sci +++ b/macros/Scilab-Arduino/GetArduinoSetupFunctions.sci @@ -12,6 +12,8 @@ function ArduinoSetupFunctions = GetArduinoSetupFunctions() // ----------------------------------------------------------------- ArduinoSetupFunctions = [ - "cmd_dcmotor_setup"]; + "cmd_dcmotor_setup" + "cmd_servo_attach" + "cmd_servo_detach"]; endfunction diff --git a/macros/Scilab-Arduino/InsertSetupInList.bin b/macros/Scilab-Arduino/InsertSetupInList.bin index 41c1a3fe..44e688c6 100644 Binary files a/macros/Scilab-Arduino/InsertSetupInList.bin and b/macros/Scilab-Arduino/InsertSetupInList.bin differ diff --git a/macros/Scilab-Arduino/InsertSetupInList.sci b/macros/Scilab-Arduino/InsertSetupInList.sci index 5c6be8bb..b73910f2 100644 --- a/macros/Scilab-Arduino/InsertSetupInList.sci +++ b/macros/Scilab-Arduino/InsertSetupInList.sci @@ -1,58 +1,66 @@ function InsertSetupInList(FunName,InArg,NInArg,SetupListFile,FunType) -load(SetupListFile,'SetupList'); - -//Check first if current input function already exists in the list -nelements = size(SetupList); -found=%F; - -if(FunType=='Setup') - for i=1:nelements - if(SetupList(i)(1) == FunName) - for j=1:NInArg - if(SetupList(i)(j+1) ~= InArg(j).Name) - found = %F - break; - else - found = %T; - end - end - end - if (found == %T) - break; //One match found. No need to check further. - end - end - - if(found == %F) - temp = list(FunName); - for i=1:NInArg - temp($+1) = InArg(i).Name; - end - end - SetupList($+1) = temp; -elseif((FunType=='Init')&((FunName=='cmd_digital_out')|(FunName=='cmd_analog_out')|(FunName=='cmd_digital_in'))) - for i=1:nelements - if(SetupList(i)(1) == FunName) - if(SetupList(i)(2) == InArg(2).Name) - found = %T - break; - else - found = %F; - end - end - end - - if(found == %F) - temp = list('pinMode'); - temp($+1) = InArg(2).Name; - if ((FunName=='cmd_digital_out')|(FunName=='cmd_analog_out')) - temp($+1) = 'OUTPUT'; - elseif (FunName == 'cmd_digital_in') - temp($+1) = 'INPUT'; - end - end - SetupList($+1) = temp; -end - -save(SetupListFile,'SetupList'); + load(SetupListFile,'SetupList'); + + //Check first if current input function already exists in the list + nelements = size(SetupList); + + found=%F; + if(FunType=='Setup') + for i=1:nelements + if(SetupList(i)(1) == FunName) + for j=1:NInArg + if(SetupList(i)(j+1) ~= InArg(j).Name) + found = %F + break; + else + found = %T; + end + end + end + if (found == %T) + break; //One match found. No need to check further. + end + end + + if(found == %F) + temp = list(FunName); + for i=1:NInArg + temp($+1) = InArg(i).Name; + end + end + SetupList($+1) = temp; + elseif((FunType=='Init')&((FunName=='cmd_digital_out')|(FunName=='cmd_analog_out')|(FunName=='cmd_digital_in'))) + for i=1:nelements + if(SetupList(i)(1) == "pinMode") + if(SetupList(i)(2) == InArg(2).Name) + found = %T + break; + else + found = %F; + end + else + + found = %F; + + end + + end + + if(found == %F) + temp = list('pinMode'); + temp($+1) = InArg(2).Name; + if ((FunName=='cmd_digital_out')|(FunName=='cmd_analog_out')) + temp($+1) = 'OUTPUT'; + elseif ((FunName == 'cmd_digital_in') | (FunName=='cmd_analog_in')) + temp($+1) = 'INPUT'; + end + SetupList($+1) = temp; + + end + + + end + save(SetupListFile,'SetupList'); + endfunction diff --git a/macros/Scilab-Arduino/lib b/macros/Scilab-Arduino/lib index bd0cb707..824ce45a 100644 Binary files a/macros/Scilab-Arduino/lib and b/macros/Scilab-Arduino/lib differ -- cgit