summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoryash11122017-07-07 22:34:47 +0530
committeryash11122017-07-07 22:34:47 +0530
commit2340409c98f9b15bb23944b991e97a1aa4e88ce0 (patch)
tree8fa462e65aca52e5e933dee026a78c31baf0181c /src
parentf577f255fd5c1d30bc770e9b053823ada8684528 (diff)
parent69c573fe2e59236f063aaa94dcd44b556f945cbc (diff)
downloadScilab2C_fossee_old-2340409c98f9b15bb23944b991e97a1aa4e88ce0.tar.gz
Scilab2C_fossee_old-2340409c98f9b15bb23944b991e97a1aa4e88ce0.tar.bz2
Scilab2C_fossee_old-2340409c98f9b15bb23944b991e97a1aa4e88ce0.zip
1.Sci2cDeps updated 2.Windows compatibility resolved
Diffstat (limited to 'src')
-rw-r--r--src/c/CACSD/includes/lqr.h4
-rw-r--r--src/c/CACSD/interfaces/int_lqr.h4
-rw-r--r--src/c/CACSD/lqe/dlqea.c4
-rw-r--r--src/c/CACSD/lqr/dlqra.c45
-rw-r--r--src/c/elementaryFunctions/includes/linspace.h5
-rw-r--r--src/c/elementaryFunctions/interfaces/int_linspace.h5
-rw-r--r--src/c/hardware/rasberrypi/ISR/i16RPIPinISRs.c25
-rw-r--r--src/c/hardware/rasberrypi/gpio/u8RPIDigitalIns.c24
-rw-r--r--src/c/hardware/rasberrypi/gpio/u8RPIDigitalOuts.c26
-rw-r--r--src/c/hardware/rasberrypi/gpio/u8RPIDigitalSetups.c39
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralDigital.h16
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralPWM.h17
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralPinISR.h26
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralSerial.h35
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralThreading.h28
-rw-r--r--src/c/hardware/rasberrypi/includes/RPIPeripheralTiming.h11
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinISR.h25
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralThreading.h25
-rw-r--r--src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralTiming.h20
-rw-r--r--src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetClocks.c27
-rw-r--r--src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetModes.c28
-rw-r--r--src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetRanges.c25
-rw-r--r--src/c/hardware/rasberrypi/pwm/u8RPIHardPWMWrites.c26
-rw-r--r--src/c/hardware/rasberrypi/serial/dRPISerialSendDataa.c27
-rw-r--r--src/c/hardware/rasberrypi/serial/dRPISerialSendDatas.c35
-rw-r--r--src/c/hardware/rasberrypi/serial/gRPISerialSendDatas.c27
-rw-r--r--src/c/hardware/rasberrypi/serial/i16RPISerialDataAvails.c25
-rw-r--r--src/c/hardware/rasberrypi/serial/i16RPISerialGetChars.c27
-rw-r--r--src/c/hardware/rasberrypi/serial/i16RPISerialSendDataa.c27
-rw-r--r--src/c/hardware/rasberrypi/serial/i16RPISerialSendDatas.c24
-rw-r--r--src/c/hardware/rasberrypi/serial/i8RPISerialSendDataa.c26
-rw-r--r--src/c/hardware/rasberrypi/serial/i8RPISerialSendDatas.c22
-rw-r--r--src/c/hardware/rasberrypi/serial/sRPISerialSendDataa.c27
-rw-r--r--src/c/hardware/rasberrypi/serial/sRPISerialSendDatas.c34
-rw-r--r--src/c/hardware/rasberrypi/serial/u16RPISerialSendDataa.c28
-rw-r--r--src/c/hardware/rasberrypi/serial/u16RPISerialSendDatas.c23
-rw-r--r--src/c/hardware/rasberrypi/serial/u16RPISerialSetups.c25
-rw-r--r--src/c/hardware/rasberrypi/serial/u8RPISerialCloses.c21
-rw-r--r--src/c/hardware/rasberrypi/serial/u8RPISerialFlushs.c21
-rw-r--r--src/c/hardware/rasberrypi/serial/u8RPISerialSendChars.c21
-rw-r--r--src/c/hardware/rasberrypi/serial/u8RPISerialSendDataa.c27
-rw-r--r--src/c/hardware/rasberrypi/serial/u8RPISerialSendDatas.c22
-rw-r--r--src/c/hardware/rasberrypi/threading/u16RPIThreadCreates.c24
-rw-r--r--src/c/hardware/rasberrypi/timing/u16RPIDelayMicros.c22
-rw-r--r--src/c/hardware/rasberrypi/timing/u16RPIDelayMillis.c25
-rw-r--r--src/c/hardware/rasberrypi/timing/u32RPIGetMicros.c21
-rw-r--r--src/c/hardware/rasberrypi/timing/u32RPIGetMillis.c21
-rw-r--r--src/c/matrixOperations/cat/ccata.c4
-rw-r--r--src/c/matrixOperations/cat/zcata.c4
-rw-r--r--src/c/scilab-arduino/cmd_analog_in_volt/u8cmd_analog_in_volts.c5
-rw-r--r--src/c/scilab-arduino/cmd_analog_out_volt/u8cmd_analog_out_volts.c6
-rw-r--r--src/c/scilab-arduino/cmd_dcmotor_release/u8cmd_dcmotor_releases.c13
-rw-r--r--src/c/scilab-arduino/cmd_i2c_dev/u8cmd_i2c_devs.cpp24
-rw-r--r--src/c/scilab-arduino/cmd_i2c_read/u8cmd_i2c_reads.cpp17
-rw-r--r--src/c/scilab-arduino/cmd_i2c_read_register/u8cmd_i2c_read_registers.cpp17
-rw-r--r--src/c/scilab-arduino/cmd_i2c_write/u8cmd_i2c_writes.cpp16
-rw-r--r--src/c/scilab-arduino/cmd_i2c_write_register/u8cmd_i2c_write_registers.cpp17
-rw-r--r--src/c/scilab-arduino/default_files/sci2c_arduino.ino5
-rw-r--r--src/c/scilab-arduino/includes/cmd_i2c_dev.h15
-rw-r--r--src/c/scilab-arduino/includes/cmd_i2c_read.h15
-rw-r--r--src/c/scilab-arduino/includes/cmd_i2c_read_register.h15
-rw-r--r--src/c/scilab-arduino/includes/cmd_i2c_write.h15
-rw-r--r--src/c/scilab-arduino/includes/cmd_i2c_write_register.h15
-rw-r--r--src/c/scilab-arduino/interfaces/int_cmd_i2c_dev.h15
-rw-r--r--src/c/scilab-arduino/interfaces/int_cmd_i2c_read.h15
-rw-r--r--src/c/scilab-arduino/interfaces/int_cmd_i2c_read_register.h15
-rw-r--r--src/c/scilab-arduino/interfaces/int_cmd_i2c_write.h15
-rw-r--r--src/c/scilab-arduino/interfaces/int_cmd_i2c_write_register.h15
-rw-r--r--src/c/string/disp/ddispa.c4
-rw-r--r--src/c/type/doubleComplex.h21
-rw-r--r--src/c/type/floatComplex.h18
-rw-r--r--src/c/type/types.h4
72 files changed, 1417 insertions, 0 deletions
diff --git a/src/c/CACSD/includes/lqr.h b/src/c/CACSD/includes/lqr.h
index 5b20ee8..aab06d3 100644
--- a/src/c/CACSD/includes/lqr.h
+++ b/src/c/CACSD/includes/lqr.h
@@ -17,7 +17,11 @@
extern "C" {
#endif
+<<<<<<< HEAD
void dlqra(double* sys, int sys_rows, int sys_cols, double* Q, double* R, double* S, double* X, double* K);
+=======
+void dlqra(double* sys, int sys_rows, int sys_cols, double* X, double* K);
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifdef __cplusplus
} /* extern "C" */
diff --git a/src/c/CACSD/interfaces/int_lqr.h b/src/c/CACSD/interfaces/int_lqr.h
index 8deba90..c292f8c 100644
--- a/src/c/CACSD/interfaces/int_lqr.h
+++ b/src/c/CACSD/interfaces/int_lqr.h
@@ -16,6 +16,7 @@
extern "C" {
#endif
+<<<<<<< HEAD
#define ss2lqrd2d2(in1,size1,out1,out2) dlqra(in1,size1[0],size1[1],NULL,\
NULL,NULL,out1,out2);
@@ -24,6 +25,9 @@ extern "C" {
#define ss2d2d2d2lqrd2d2(in1,size1,in2,size2,in3,size3,in4,size4,out1,out2) \
dlqra(in1,size1[0],size1[1],in2,in3,in4,out1,out2);
+=======
+#define ss2lqrd2d2(in1,size1,out1,out2) dlqra(in1,size1[0],size1[1],out1,out2);
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifdef __cplusplus
} /* extern "C" */
diff --git a/src/c/CACSD/lqe/dlqea.c b/src/c/CACSD/lqe/dlqea.c
index e0be5b3..06c1c6e 100644
--- a/src/c/CACSD/lqe/dlqea.c
+++ b/src/c/CACSD/lqe/dlqea.c
@@ -54,7 +54,11 @@ void dlqea(double* sys, int sys_rows, int sys_cols, double* X, double* K)
/*Calculate LQR gain*/
K_lqr = (double*) malloc(no_of_ip*no_of_st*sizeof(double));
+<<<<<<< HEAD
dlqra(sys_lqr,sys_lqr_rows,sys_lqr_cols,NULL,NULL,NULL,X,K_lqr);
+=======
+ dlqra(sys_lqr,sys_lqr_rows,sys_lqr_cols,X,K_lqr);
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
dtransposea(K_lqr,sys_rows - no_of_st,no_of_st,K);
} \ No newline at end of file
diff --git a/src/c/CACSD/lqr/dlqra.c b/src/c/CACSD/lqr/dlqra.c
index 1440c3a..15120f7 100644
--- a/src/c/CACSD/lqr/dlqra.c
+++ b/src/c/CACSD/lqr/dlqra.c
@@ -22,8 +22,12 @@
#include "schur.h"
#include "matrixDivision.h"
+<<<<<<< HEAD
void dlqra(double* sys, int sys_rows, int sys_cols, double* Q, double* R, \
double* S, double* K, double* X)
+=======
+void dlqra(double* sys, int sys_rows, int sys_cols, double* X, double* K)
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
{
int no_of_states, no_of_inputs, no_of_outputs, dom = 1;
int row,col;
@@ -33,7 +37,11 @@ void dlqra(double* sys, int sys_rows, int sys_cols, double* Q, double* R, \
double *A, *B, *C, *D;
double *B_t, *C_t, *D_t;
+<<<<<<< HEAD
//double *Q, *R, *S;
+=======
+ double *Q, *R, *S;
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
double *Ri, *LA, *LE;
double *BRi, *StRi, *S_t;
double *buf1, *buf2, *buf3, *buf4, *buf5, *buf6;
@@ -91,10 +99,18 @@ void dlqra(double* sys, int sys_rows, int sys_cols, double* Q, double* R, \
dom = (int)sys[(sys_rows*(sys_cols-2)) + no_of_states];
+<<<<<<< HEAD
+=======
+ Q = (double*) malloc (no_of_states*no_of_states*sizeof(double));
+ R = (double*) malloc (no_of_inputs*no_of_inputs*sizeof(double));
+ S = (double*) malloc (no_of_inputs*no_of_states*sizeof(double));
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
dtransposea(B,no_of_states,no_of_inputs,B_t);
dtransposea(C,no_of_outputs,no_of_states,C_t);
dtransposea(D,no_of_outputs,no_of_inputs,D_t);
+<<<<<<< HEAD
if(Q == NULL)
{/*If Q is not provided*/
Q = (double*) malloc (no_of_states*no_of_states*sizeof(double));
@@ -114,6 +130,14 @@ void dlqra(double* sys, int sys_rows, int sys_cols, double* Q, double* R, \
}
/*Free up unwanted variables*/
+=======
+ dmulma(C_t,no_of_states,no_of_outputs,C,no_of_outputs,no_of_states,Q);
+ dmulma(D_t,no_of_inputs,no_of_outputs,D,no_of_outputs,no_of_inputs,R);
+ dmulma(D_t,no_of_inputs,no_of_outputs,C,no_of_outputs,no_of_states,S);
+
+ /*Free up unwanted variables*/
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
free(C);
free(C_t);
free(D);
@@ -187,8 +211,13 @@ void dlqra(double* sys, int sys_rows, int sys_cols, double* Q, double* R, \
/*Freeup umwanted variables*/
free(A);
+<<<<<<< HEAD
//free(Q);
//free(R);
+=======
+ free(Q);
+ free(R);
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
free(BRi);
free(S_t);
free(StRi);
@@ -288,7 +317,11 @@ void dlqra(double* sys, int sys_rows, int sys_cols, double* Q, double* R, \
}
+<<<<<<< HEAD
//free(Q);
+=======
+ free(Q);
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
free(BRi);
free(S_t);
free(StRi);
@@ -326,7 +359,11 @@ void dlqra(double* sys, int sys_rows, int sys_cols, double* Q, double* R, \
/*inv(B'XB+R)*/
dmulma(B_t,no_of_inputs,no_of_states,X,no_of_states,no_of_states,buf3);
+<<<<<<< HEAD
dmulma(buf3,no_of_inputs,no_of_states,B,no_of_states,no_of_inputs,buf6);
+=======
+ dmulma(buf3,no_of_inputs,no_of_states,B_t,no_of_states,no_of_inputs,buf6);
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
dadda(buf6,no_of_inputs*no_of_inputs,R,no_of_inputs*no_of_inputs,buf5);
dinverma(buf5,buf6,no_of_inputs);
/*B'XA+S*/
@@ -343,14 +380,22 @@ void dlqra(double* sys, int sys_rows, int sys_cols, double* Q, double* R, \
free(A);
free(B);
+<<<<<<< HEAD
//free(R);
+=======
+ free(R);
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
free(buf5);
free(buf6);
}
free(B_t);
+<<<<<<< HEAD
//free(S);
+=======
+ free(S);
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
free(wsmall);
free(X12);
free(phi12);
diff --git a/src/c/elementaryFunctions/includes/linspace.h b/src/c/elementaryFunctions/includes/linspace.h
index 62d4501..00b1471 100644
--- a/src/c/elementaryFunctions/includes/linspace.h
+++ b/src/c/elementaryFunctions/includes/linspace.h
@@ -21,11 +21,16 @@ extern "C" {
EXTERN_ELEMFUNCT void dlinspaces(double low_limit,double up_limit,double range_num, double* out);
+<<<<<<< HEAD
EXTERN_ELEMFUNCT void slinspaces(float low_limit,float up_limit,float range_num, float* out);
EXTERN_ELEMFUNCT void dlinspacea(double *low_limit,int row,double *up_limit,double range_num, double* out);
EXTERN_ELEMFUNCT void slinspacea(float *low_limit,int row,float *up_limit,float range_num, float* out);
+=======
+EXTERN_ELEMFUNCT void dlinspacea(double *low_limit,int row,double *up_limit,double range_num, double* out);
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
diff --git a/src/c/elementaryFunctions/interfaces/int_linspace.h b/src/c/elementaryFunctions/interfaces/int_linspace.h
index 15ea269..febe516 100644
--- a/src/c/elementaryFunctions/interfaces/int_linspace.h
+++ b/src/c/elementaryFunctions/interfaces/int_linspace.h
@@ -15,10 +15,15 @@
#define d0d0d0linspaced2(in1,in2,in3,out) dlinspaces(in1,in2,in3,out)
+<<<<<<< HEAD
#define s0s0s0linspaces2(in1,in2,in3,out) slinspaces(in1,in2,in3,out)
#define d2d2d0linspaced2(in1,size1,in2,size2,in3,out) dlinspacea(in1,size1[0],in2,in3,out)
#define s2s2s0linspaces2(in1,size1,in2,size2,in3,out) slinspacea(in1,size1[0],in2,in3,out)
+=======
+#define d2d2d0linspaced2(in1,size1,in2,size2,in3,out) dlinspacea(in1,size1[0],in2,in3,out)
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#endif
diff --git a/src/c/hardware/rasberrypi/ISR/i16RPIPinISRs.c b/src/c/hardware/rasberrypi/ISR/i16RPIPinISRs.c
new file mode 100644
index 0000000..6e398a1
--- /dev/null
+++ b/src/c/hardware/rasberrypi/ISR/i16RPIPinISRs.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to declare interrupt on pins and corresponding ISRs */
+
+#include "types.h"
+#include "RPIPeripheralPinISR.h"
+#include "RPIPeripheralDigital.h"
+
+int16 i16RPIPinISRs(uint8 pin, uint8 edgetype, void (*ISRFunction)(void))
+{
+ int status;
+ status = wiringPiISR((int)phy_pin[pin-1], (int) edgetype, ISRFunction);
+ return status;
+}
+
diff --git a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalIns.c b/src/c/hardware/rasberrypi/gpio/u8RPIDigitalIns.c
new file mode 100644
index 0000000..7b84350
--- /dev/null
+++ b/src/c/hardware/rasberrypi/gpio/u8RPIDigitalIns.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to read the state of the gpio pin */
+
+#include "types.h"
+#include "RPIPeripheralDigital.h"
+
+/*pin is reduced by one as array index starts from 0 and pin no starts from 1*/
+uint8 u8RPIDigitalIns(uint8 pin)
+{
+ uint8 state = 0;
+ state = digitalRead(phy_pin[pin-1]);
+ return (state);
+}
diff --git a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalOuts.c b/src/c/hardware/rasberrypi/gpio/u8RPIDigitalOuts.c
new file mode 100644
index 0000000..f828f77
--- /dev/null
+++ b/src/c/hardware/rasberrypi/gpio/u8RPIDigitalOuts.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to change the output state of the gpio pin */
+
+
+#include "types.h"
+#include "RPIPeripheralDigital.h"
+
+/*pin is reduced by one as array index starts from 0 and pin no starts from 1*/
+void u8RPIDigitalOuts(uint8 pin, uint8 state)
+{
+ if (state == 0) /*low output*/
+ digitalWrite(phy_pin[pin-1], LOW);
+ if (state == 1) /*high output*/
+ digitalWrite(phy_pin[pin-1], HIGH);
+}
diff --git a/src/c/hardware/rasberrypi/gpio/u8RPIDigitalSetups.c b/src/c/hardware/rasberrypi/gpio/u8RPIDigitalSetups.c
new file mode 100644
index 0000000..f5fefe0
--- /dev/null
+++ b/src/c/hardware/rasberrypi/gpio/u8RPIDigitalSetups.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to setup digital pins
+ direction = 1 -> output
+ direction = 0 -> input
+*/
+
+#include "types.h"
+#include "RPIPeripheralDigital.h"
+
+
+/*This array maps pin numbers on RPi board, with pin numbers corrsponding
+to WiringPi library*/
+int phy_pin[] = {17, 17, 8, 17, 9, 17, 7, 15, 17, 16, /*Pin 1 to 10*/
+ 0, 1, 2, 17, 3, 4, 17, 5, 12, 17, /*Pin 11 to 20*/
+ 13, 6, 14, 10, 17, 11, 30, 31, 21, 17, /*Pin 21 to 30*/
+ 22, 26, 23, 17, 24, 27, 25, 28, 17, 29 }; /*Pin 31 to 40*/
+
+/*pin is reduced by one as arrayiindex starts from 0 and pin no starts from 1*/
+void u8RPIDigitalSetups(uint8 pin, uint8 direction)
+{
+ if(direction == 1) /*Pin to be used as output*/
+ pinMode(phy_pin[pin-1], OUTPUT);
+ else if(direction == 2)
+ pinMode(phy_pin[pin-1], PWM_OUTPUT);
+ else
+ pinMode(phy_pin[pin-1], INPUT);
+
+}
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralDigital.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralDigital.h
index 22d470a..b9b88e7 100644
--- a/src/c/hardware/rasberrypi/includes/RPIPeripheralDigital.h
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralDigital.h
@@ -1,4 +1,8 @@
+<<<<<<< HEAD
/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+=======
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
This file must be used under the terms of the CeCILL.
This source file is licensed as described in the file COPYING, which
@@ -19,12 +23,24 @@
extern "C" {
#endif
+<<<<<<< HEAD
#include "types.h"
uint8 u8RPI_digitalReads(uint8 pin);
uint8 RPI_digitalReadByte();
void u8RPI_digitalWrites(uint8 pin, uint8 state);
void u8RPI_digitalWriteBytes(uint8 value);
+=======
+
+#include "types.h"
+#include "wiringPi.h"
+
+extern int phy_pin[];
+
+void u8RPIDigitalSetups(uint8 pin, uint8 direction);
+void u8RPIDigitalOuts(uint8 pin, uint8 state);
+uint8 u8RPIDigitalIns(uint8 pin);
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifdef __cplusplus
} /* extern "C" */
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralPWM.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralPWM.h
index f1d3024..9c523f9 100644
--- a/src/c/hardware/rasberrypi/includes/RPIPeripheralPWM.h
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralPWM.h
@@ -5,17 +5,28 @@
you should have received as part of this distribution. The terms
are also available at
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+<<<<<<< HEAD
Author: Siddhesh Wani, Jorawar Singh
+=======
+ Author: Siddhesh Wani
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
#ifndef __RPIPERIPHERALPWM_H__
#define __RPIPERIPHERALPWM_H__
+<<<<<<< HEAD
+=======
+#include "types.h"
+#include "wiringPi.h"
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifdef __cplusplus
extern "C" {
#endif
+<<<<<<< HEAD
#include "types.h"
void u8RPI_pwmWrites(uint8 pin,uint16 value);
@@ -23,6 +34,12 @@ void u32RPI_pwmRanges(uint32 value);
void gRPI_pwmModea(char* mode,int size);
void u16RPI_pwmClocks(uint16 divisor);
void u8RPI_pwmToneWrites(uint8 pin,uint16 value);
+=======
+void u8RPIHardPWMWrites(uint8 pin, uint16 value);
+void u8RPIHardPWMSetRanges(uint16 value);
+void u8RPIHardPWMSetModes(uint8 mode);
+void u8RPIHardPWMSetClocks(uint16 clk_divisor);
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifdef __cplusplus
} /* extern "C" */
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralPinISR.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralPinISR.h
new file mode 100644
index 0000000..fc5a8d0
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralPinISR.h
@@ -0,0 +1,26 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __RPIPERIPHERALPINISR_H__
+#define __RPIPERIPHERALPINISR_H__
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int16 i16RPIPinISRs(uint8 pin, uint8 edgetype, void (*ISRFunction)(void));
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALPINISR_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralSerial.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralSerial.h
index 67284bd..19ddcb2 100644
--- a/src/c/hardware/rasberrypi/includes/RPIPeripheralSerial.h
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralSerial.h
@@ -5,17 +5,28 @@
you should have received as part of this distribution. The terms
are also available at
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+<<<<<<< HEAD
Author: Siddhesh Wani, Jorawar Singh
+=======
+ Author: Siddhesh Wani
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
#ifndef __RPIPERIPHERALSERIAL_H__
#define __RPIPERIPHERALSERIAL_H__
+<<<<<<< HEAD
+=======
+#include "types.h"
+#include "wiringSerial.h"
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifdef __cplusplus
extern "C" {
#endif
+<<<<<<< HEAD
#include "types.h"
#include "wiringSerial.h"
@@ -27,6 +38,30 @@ void u8RPI_serialGetchars(uint8 fd,char* out);
void u8RPI_serialPrintfs(uint8 fd,char* msg,int size);
void u8RPI_serialPutchars(uint8 fd,uint8 character);
void u8RPI_serialPutss(uint8 fd,char* character,int size);
+=======
+int u8RPISerialSetups(char* port, int baudrate);
+void u8RPISerialCloses(int fd);
+
+void u8RPISerialSendChars(int fd, uint8 data);
+void u8RPISerialSendDatas(int fd, uint8 data);
+void i8RPISerialSendDatas(int fd, int8 data);
+void u16RPISerialSendDatas(int fd, uint16 data);
+void i16RPISerialSendDatas(int fd, int16 data);
+void sRPISerialSendDatas(int fd, float data);
+void dRPISerialSendDatas(int fd, double data);
+void u8RPISerialSendDataa(int fd, uint8* data, int size);
+void i8RPISerialSendDataa(int fd, int8* data, int size);
+void u16RPISerialSendDataa(int fd, uint16* data, int size);
+void i16RPISerialSendDataa(int fd, int16* data, int size);
+void sRPISerialSendDataa(int fd, float* data, int size);
+void dRPISerialSendDataa(int fd, double* data, int size);
+void gRPISerialSendDatas(int fd, uint8* data, int size);
+
+int16 i16RPISerialDataAvails(int fd);
+int16 i16RPISerialGetChars(int fd);
+
+void u8RPISerialFlushs(int fd);
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifdef __cplusplus
} /* extern "C" */
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralThreading.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralThreading.h
new file mode 100644
index 0000000..a7b2adb
--- /dev/null
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralThreading.h
@@ -0,0 +1,28 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __RPIPERIPHERALTHREADING_H__
+#define __RPIPERIPHERALTHREADING_H__
+
+#include "types.h"
+#include "wiringPi.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+uint16 RPIThreadCreate(void *(*threadFunction)(void*));
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__RPIPERIPHERALTHREADING_H__*/
diff --git a/src/c/hardware/rasberrypi/includes/RPIPeripheralTiming.h b/src/c/hardware/rasberrypi/includes/RPIPeripheralTiming.h
index e75a539..b9087d7 100644
--- a/src/c/hardware/rasberrypi/includes/RPIPeripheralTiming.h
+++ b/src/c/hardware/rasberrypi/includes/RPIPeripheralTiming.h
@@ -5,7 +5,11 @@
you should have received as part of this distribution. The terms
are also available at
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+<<<<<<< HEAD
Author: Siddhesh Wani, Jorawar Singh
+=======
+ Author: Siddhesh Wani
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
@@ -22,10 +26,17 @@ extern "C" {
#include "types.h"
#include "wiringPi.h"
+<<<<<<< HEAD
void u32RPI_delays(uint32 time);
void u32RPI_delayMicros(uint32 time);
uint32 RPI_millis();
uint32 RPI_micros();
+=======
+void u16RPIDelayMillis(uint16 time);
+void u16RPIDelayMicros(uint16 time);
+uint32 u32RPIGetMillis();
+uint32 u32RPIGetMicros();
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifdef __cplusplus
} /* extern "C" */
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinISR.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinISR.h
new file mode 100644
index 0000000..b2c1ed1
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralPinISR.h
@@ -0,0 +1,25 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_RPIPERIPHERALPINISR_H__
+#define __INT_RPIPERIPHERALPINISR_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define RPI_PinISR(pin,edge,funname) i16RPIPinISRs((uint8)pin,(uint8)edge,funname)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_RPIPERIPHERALPINISR_H__*/
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralThreading.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralThreading.h
new file mode 100644
index 0000000..68ed6e0
--- /dev/null
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralThreading.h
@@ -0,0 +1,25 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_RPIPERIPHERALTHREADING_H__
+#define __INT_RPIPERIPHERALTHREADING_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define RPI_ThreadCreate(fn) RPIThreadCreate(fn);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_RPIPERIPHERALTHREADING_H__*/
diff --git a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralTiming.h b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralTiming.h
index cbbb47a..c91fdfb 100644
--- a/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralTiming.h
+++ b/src/c/hardware/rasberrypi/interfaces/int_RPIPeripheralTiming.h
@@ -5,11 +5,19 @@
you should have received as part of this distribution. The terms
are also available at
http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+<<<<<<< HEAD
Author: Jorawar Singh, Siddhesh Wani
+=======
+ Author: Siddhesh Wani
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
Organization: FOSSEE, IIT Bombay
Email: toolbox@scilab.in
*/
+<<<<<<< HEAD
+=======
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifndef __INT_RPIPERIPHERALTIMING_H__
#define __INT_RPIPERIPHERALTIMING_H__
@@ -20,6 +28,7 @@
extern "C" {
#endif
+<<<<<<< HEAD
#define u320RPI_delay(time) u32RPI_delays(time);
#define d0RPI_delay(time) u32RPI_delays(time);
@@ -28,9 +37,20 @@ extern "C" {
#define RPI_millisu320() RPI_millis();
#define RPI_microsu320() RPI_micros();
+=======
+#define RPI_DelayMicro(in1) u16RPIDelayMicros((uint16) in1)
+#define RPI_DelayMilli(in1) u16RPIDelayMillis((uint16) in1)
+#define RPI_GetMicro() u32RPIGetMicros()
+#define RPI_GetMillis() u32RPIGetMillis()
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifdef __cplusplus
} /* extern "C" */
#endif
+<<<<<<< HEAD
#endif /* !__INT_RPIPERIPHERALTIMING_H__ */
+=======
+#endif /* !__RPIPERIPHERALTIMING_H__ */
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetClocks.c b/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetClocks.c
new file mode 100644
index 0000000..d06b135
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetClocks.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/*Function to set clock for pwm channel. Default clock is 19.2 MHz. 'clk_divisor'
+ along with range decides frequency for PWM
+ PWM frequency = 19.2 MHz / clk_divisor/ range
+ Range for clk_divisor = 1-2048
+ */
+
+#include "types.h"
+#include "RPIPeripheralPWM.h"
+
+void u8RPIHardPWMSetClocks(uint16 clk_divisor)
+{
+ pwmSetClock(clk_divisor);
+
+
+}
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetModes.c b/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetModes.c
new file mode 100644
index 0000000..0cca7a7
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetModes.c
@@ -0,0 +1,28 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/*Function to set mode for PWM channel. Two modes are available
+ 0 --> balanced mode
+ 1 --> mark/space mode
+ */
+
+#include "types.h"
+#include "RPIPeripheralPWM.h"
+
+void u8RPIHardPWMSetModes(uint8 mode)
+{
+ if (mode == 1) /*mark/space mode*/
+ pwmSetMode(PWM_MODE_MS);
+ else
+ pwmSetMode(PWM_MODE_BAL);
+
+}
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetRanges.c b/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetRanges.c
new file mode 100644
index 0000000..b2489f5
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMSetRanges.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/*Function to assigne pwm duty to specified pin. PWM duty is decided by 'value'
+ and 'range' specified using corresponding function.
+ PWM duty = value/range
+ */
+
+#include "types.h"
+#include "RPIPeripheralPWM.h"
+
+void u8RPIHardPWMSetRanges(uint16 value)
+{
+ pwmSetRange(value);
+
+}
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMWrites.c b/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMWrites.c
new file mode 100644
index 0000000..ae02bf0
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pwm/u8RPIHardPWMWrites.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/*Function to set range for pwm channel. PWM duty is decided by 'range'
+ and 'value' specified using corresponding function.
+ PWM duty = value/range
+ */
+
+#include "types.h"
+#include "RPIPeripheralPWM.h"
+#include "RPIPeripheralDigital.h"
+
+void u8RPIHardPWMWrites(uint8 pin, uint16 value)
+{
+ pwmWrite((int)phy_pin[pin-1], value);
+
+}
diff --git a/src/c/hardware/rasberrypi/serial/dRPISerialSendDataa.c b/src/c/hardware/rasberrypi/serial/dRPISerialSendDataa.c
new file mode 100644
index 0000000..f990255
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/dRPISerialSendDataa.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to send double data array/matrix on specified serial port. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void dRPISerialSendDataa(int fd, double* data, int size)
+{
+ int count = 0;
+
+ for (count = 0; count < size; count++)
+ {
+ dRPISerialSendDatas(fd, data[count]);
+ }
+
+}
diff --git a/src/c/hardware/rasberrypi/serial/dRPISerialSendDatas.c b/src/c/hardware/rasberrypi/serial/dRPISerialSendDatas.c
new file mode 100644
index 0000000..39112fc
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/dRPISerialSendDatas.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to send double data on specified serial port. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void dRPISerialSendDatas(int fd, double data)
+{
+ uint8 count;
+
+ union double_bytes{
+ double double_data;
+ unsigned char bytes[sizeof(double)];
+ } in_data;
+
+ in_data.double_data = data;
+
+ for(count=0; count<sizeof(double); count++)
+ {
+ /*Send lsb first*/
+ serialPutchar(fd, (uint8) in_data.bytes[count]);
+ }
+
+}
diff --git a/src/c/hardware/rasberrypi/serial/gRPISerialSendDatas.c b/src/c/hardware/rasberrypi/serial/gRPISerialSendDatas.c
new file mode 100644
index 0000000..f4ec8a8
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/gRPISerialSendDatas.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to send string on specified serial port. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void gRPISerialSendDatas(int fd, uint8* data, int size)
+{
+ int count = 0;
+
+ while(data[count] != '\0')
+ {
+ serialPutchar(fd, data[count]);
+ }
+
+}
diff --git a/src/c/hardware/rasberrypi/serial/i16RPISerialDataAvails.c b/src/c/hardware/rasberrypi/serial/i16RPISerialDataAvails.c
new file mode 100644
index 0000000..b56a819
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/i16RPISerialDataAvails.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to check for data availability at specified port. Returns no of
+ bytes to be read */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+int16 i16RPISerialDataAvails(int fd)
+{
+ int bytes = 0;
+ bytes = serialDataAvail(fd);
+
+ return bytes;
+}
diff --git a/src/c/hardware/rasberrypi/serial/i16RPISerialGetChars.c b/src/c/hardware/rasberrypi/serial/i16RPISerialGetChars.c
new file mode 100644
index 0000000..18ca2a7
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/i16RPISerialGetChars.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to read character from spcified serial port (file descriptor).
+ This function will block execution for 10 secs if no character is available,
+ and will return -1 in that case*/
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+int16 i16RPISerialGetChars(int fd)
+{
+ int data = 0;
+
+ data = serialGetchar(fd);
+
+ return data;
+}
diff --git a/src/c/hardware/rasberrypi/serial/i16RPISerialSendDataa.c b/src/c/hardware/rasberrypi/serial/i16RPISerialSendDataa.c
new file mode 100644
index 0000000..24180f4
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/i16RPISerialSendDataa.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to send signed 16-bit data array/matrix on specified serial port. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void i16RPISerialSendDataa(int fd, int16* data, int size)
+{
+ int count = 0;
+
+ for (count = 0; count < size; ++count)
+ {
+ i16RPISerialSendDatas(fd, data[count]);
+ }
+
+}
diff --git a/src/c/hardware/rasberrypi/serial/i16RPISerialSendDatas.c b/src/c/hardware/rasberrypi/serial/i16RPISerialSendDatas.c
new file mode 100644
index 0000000..fe6fe6f
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/i16RPISerialSendDatas.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to send signed 16-bit byte on specified serial port. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void i16RPISerialSendDatas(int fd, int16 data)
+{
+ /*Send lsb first*/
+ serialPutchar(fd, (uint8) data);
+ serialPutchar(fd, (uint8) (data>>8));
+
+}
diff --git a/src/c/hardware/rasberrypi/serial/i8RPISerialSendDataa.c b/src/c/hardware/rasberrypi/serial/i8RPISerialSendDataa.c
new file mode 100644
index 0000000..c4dd199
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/i8RPISerialSendDataa.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to send signed 8-bit byte array/matrix on specified serial port. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void i8RPISerialSendDataa(int fd, int8* data, int size)
+{
+ int count = 0;
+
+ for (count = 0; count < size; ++count)
+ {
+ i8RPISerialSendDatas(fd, data[count]);
+ }
+}
diff --git a/src/c/hardware/rasberrypi/serial/i8RPISerialSendDatas.c b/src/c/hardware/rasberrypi/serial/i8RPISerialSendDatas.c
new file mode 100644
index 0000000..e637871
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/i8RPISerialSendDatas.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to send signed 8-bit byte on specified serial port. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void i8RPISerialSendDatas(int fd, int8 data)
+{
+ serialPutchar(fd, (uint8) data);
+
+}
diff --git a/src/c/hardware/rasberrypi/serial/sRPISerialSendDataa.c b/src/c/hardware/rasberrypi/serial/sRPISerialSendDataa.c
new file mode 100644
index 0000000..14c0bc7
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/sRPISerialSendDataa.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to send float data array/matrix on specified serial port. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void sRPISerialSendDataa(int fd, float* data, int size)
+{
+ int count = 0;
+
+ for (count = 0; count < size; ++count)
+ {
+ sRPISerialSendDatas(fd, data[count]);
+ }
+
+}
diff --git a/src/c/hardware/rasberrypi/serial/sRPISerialSendDatas.c b/src/c/hardware/rasberrypi/serial/sRPISerialSendDatas.c
new file mode 100644
index 0000000..ff78dd1
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/sRPISerialSendDatas.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to send float data on specified serial port. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void sRPISerialSendDatas(int fd, float data)
+{
+ uint8 count;
+
+ union float_bytes{
+ float float_data;
+ unsigned char bytes[sizeof(float)];
+ } in_data;
+ in_data.float_data = data;
+
+ for(count=0; count<sizeof(float); count++)
+ {
+ /*Send lsb first*/
+ serialPutchar(fd, (uint8) in_data.bytes[count]);
+ }
+
+}
diff --git a/src/c/hardware/rasberrypi/serial/u16RPISerialSendDataa.c b/src/c/hardware/rasberrypi/serial/u16RPISerialSendDataa.c
new file mode 100644
index 0000000..b444047
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/u16RPISerialSendDataa.c
@@ -0,0 +1,28 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to send unsigned 16-bit data array/matrix on specified serial port. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void u16RPISerialSendDataa(int fd, uint16* data, int size)
+{
+ int count = 0;
+
+ for (count = 0; count < size; ++count)
+ {
+ u16RPISerialSendDatas(fd, data[count]);
+ }
+
+
+}
diff --git a/src/c/hardware/rasberrypi/serial/u16RPISerialSendDatas.c b/src/c/hardware/rasberrypi/serial/u16RPISerialSendDatas.c
new file mode 100644
index 0000000..b4a90c2
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/u16RPISerialSendDatas.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to send unsigned 16-bit data on specified serial port. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void u16RPISerialSendDatas(int fd, uint16 data)
+{
+ /*Send lsb first*/
+ serialPutchar(fd, (uint8) data);
+ serialPutchar(fd, (uint8) (data>>8));
+}
diff --git a/src/c/hardware/rasberrypi/serial/u16RPISerialSetups.c b/src/c/hardware/rasberrypi/serial/u16RPISerialSetups.c
new file mode 100644
index 0000000..cde4cba
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/u16RPISerialSetups.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to setup port with desired baud rate. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+int u16RPISerialSetups(char* port, int baudrate)
+{
+ int fd;
+
+ fd = serialOpen (port, baudrate);
+
+ return fd;
+}
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialCloses.c b/src/c/hardware/rasberrypi/serial/u8RPISerialCloses.c
new file mode 100644
index 0000000..5162d15
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/u8RPISerialCloses.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to close serial port opened. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void u8RPISerialCloses(int fd)
+{
+ serialClose (fd);
+}
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialFlushs.c b/src/c/hardware/rasberrypi/serial/u8RPISerialFlushs.c
new file mode 100644
index 0000000..c80a92c
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/u8RPISerialFlushs.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to discards data serial buffer (received as well as waiting to be sent */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void u8RPISerialFlushs(int fd)
+{
+ serialFlush(fd);
+}
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialSendChars.c b/src/c/hardware/rasberrypi/serial/u8RPISerialSendChars.c
new file mode 100644
index 0000000..e381351
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/u8RPISerialSendChars.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to send 8-bit char on specified serial port. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void u8RPISerialSendChars(int fd, uint8 data)
+{
+ serialPutchar(fd, data);
+}
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialSendDataa.c b/src/c/hardware/rasberrypi/serial/u8RPISerialSendDataa.c
new file mode 100644
index 0000000..9d09714
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/u8RPISerialSendDataa.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to send unsigned 8-bit byte array/matrix on specified serial port. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void u8RPISerialSendDataa(int fd, uint8* data, int size)
+{
+ int count = 0;
+
+ for (count = 0; count < size; ++count)
+ {
+ u8RPISerialSendDatas(fd, data[count]);
+ }
+
+}
diff --git a/src/c/hardware/rasberrypi/serial/u8RPISerialSendDatas.c b/src/c/hardware/rasberrypi/serial/u8RPISerialSendDatas.c
new file mode 100644
index 0000000..9edb439
--- /dev/null
+++ b/src/c/hardware/rasberrypi/serial/u8RPISerialSendDatas.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to send unsigned 8-bit byte on specified serial port. */
+
+#include "types.h"
+#include "RPIPeripheralSerial.h"
+
+void u8RPISerialSendDatas(int fd, uint8 data)
+{
+ serialPutchar(fd, data);
+
+}
diff --git a/src/c/hardware/rasberrypi/threading/u16RPIThreadCreates.c b/src/c/hardware/rasberrypi/threading/u16RPIThreadCreates.c
new file mode 100644
index 0000000..c05c959
--- /dev/null
+++ b/src/c/hardware/rasberrypi/threading/u16RPIThreadCreates.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to create thread for given function */
+
+#include "types.h"
+#include "RPIPeripheralThreading.h"
+
+uint16 RPIThreadCreate(void *(*threadFunction)(void*))
+{
+ int status;
+ status = piThreadCreate (threadFunction);
+ return status;
+}
+
diff --git a/src/c/hardware/rasberrypi/timing/u16RPIDelayMicros.c b/src/c/hardware/rasberrypi/timing/u16RPIDelayMicros.c
new file mode 100644
index 0000000..9aeeab7
--- /dev/null
+++ b/src/c/hardware/rasberrypi/timing/u16RPIDelayMicros.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to insert some delay in code execution. */
+
+#include "types.h"
+#include "RPIPeripheralTiming.h"
+
+void u16RPIDelayMicros(uint16 time)
+{
+ delayMicroseconds(time);
+}
+
diff --git a/src/c/hardware/rasberrypi/timing/u16RPIDelayMillis.c b/src/c/hardware/rasberrypi/timing/u16RPIDelayMillis.c
new file mode 100644
index 0000000..2679086
--- /dev/null
+++ b/src/c/hardware/rasberrypi/timing/u16RPIDelayMillis.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to insert some delay in code execution. */
+
+
+
+#include "types.h"
+#include "RPIPeripheralTiming.h"
+
+void u16RPIDelayMillis(uint16 time)
+{
+ delay(time);
+
+}
+
diff --git a/src/c/hardware/rasberrypi/timing/u32RPIGetMicros.c b/src/c/hardware/rasberrypi/timing/u32RPIGetMicros.c
new file mode 100644
index 0000000..eb086a9
--- /dev/null
+++ b/src/c/hardware/rasberrypi/timing/u32RPIGetMicros.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to get time in microsecond since first setup function called */
+
+#include "types.h"
+#include "RPIPeripheralTiming.h"
+
+uint32 u32RPIGetMicros()
+{
+ return(micros());
+} \ No newline at end of file
diff --git a/src/c/hardware/rasberrypi/timing/u32RPIGetMillis.c b/src/c/hardware/rasberrypi/timing/u32RPIGetMillis.c
new file mode 100644
index 0000000..c118975
--- /dev/null
+++ b/src/c/hardware/rasberrypi/timing/u32RPIGetMillis.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* Function to get time in millisecond since first setup function called */
+
+#include "types.h"
+#include "RPIPeripheralTiming.h"
+
+uint32 u32RPIGetMillis()
+{
+ return(millis());
+} \ No newline at end of file
diff --git a/src/c/matrixOperations/cat/ccata.c b/src/c/matrixOperations/cat/ccata.c
index cd2b4c9..6a2a6d9 100644
--- a/src/c/matrixOperations/cat/ccata.c
+++ b/src/c/matrixOperations/cat/ccata.c
@@ -26,7 +26,11 @@ void crowcata(floatComplex *in1, int lines1, int columns1, floatComplex *in2, i
{
for (j = 0 ; j < lines1 ; ++j)
{
+<<<<<<< HEAD
out[i*(lines1 + lines2) + j] = in1[i*lines1 + j];
+=======
+ /*out[i*(lines1 + lines2) + j] = in1[i*lines1 + j];*/
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
}
for (j = 0 ; j < lines2 ; ++j)
{
diff --git a/src/c/matrixOperations/cat/zcata.c b/src/c/matrixOperations/cat/zcata.c
index 485553d..659f14c 100644
--- a/src/c/matrixOperations/cat/zcata.c
+++ b/src/c/matrixOperations/cat/zcata.c
@@ -26,7 +26,11 @@ void zrowcata(doubleComplex *in1, int lines1, int columns1, doubleComplex *in2,
{
for (j = 0 ; j < lines1 ; ++j)
{
+<<<<<<< HEAD
out[i*(lines1 + lines2) + j] = in1[i*lines1 + j];
+=======
+ /*out[i*(lines1 + lines2) + j] = in1[i*lines1 + j];*/
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
}
for (j = 0 ; j < lines2 ; ++j)
{
diff --git a/src/c/scilab-arduino/cmd_analog_in_volt/u8cmd_analog_in_volts.c b/src/c/scilab-arduino/cmd_analog_in_volt/u8cmd_analog_in_volts.c
index 7018df2..27f63c7 100644
--- a/src/c/scilab-arduino/cmd_analog_in_volt/u8cmd_analog_in_volts.c
+++ b/src/c/scilab-arduino/cmd_analog_in_volt/u8cmd_analog_in_volts.c
@@ -15,8 +15,13 @@
float u8cmd_analog_in_volts(uint8 board_no, uint8 pin)
{
+<<<<<<< HEAD
float a;
a = ((5*(float)analogRead(pin))/1023);
+=======
+ float a; //declaration of variable
+ a = ((5*(float)analogRead(pin))/1023); //recieved 10 bit input from analog pin is convert to voltage(0 - 50
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
return(a);
}
diff --git a/src/c/scilab-arduino/cmd_analog_out_volt/u8cmd_analog_out_volts.c b/src/c/scilab-arduino/cmd_analog_out_volt/u8cmd_analog_out_volts.c
index 2dd82e4..19a73fc 100644
--- a/src/c/scilab-arduino/cmd_analog_out_volt/u8cmd_analog_out_volts.c
+++ b/src/c/scilab-arduino/cmd_analog_out_volt/u8cmd_analog_out_volts.c
@@ -15,8 +15,14 @@
void u8cmd_analog_out_volts(uint8 board_no, uint8 pin, float value)
{
+<<<<<<< HEAD
int a;
a = ((value*255)/5);
analogWrite(pin,a);
+=======
+ int a; //declaring variable
+ a = ((value*255)/5); //converting given voltage to duty cycle value (0 - 255)
+ analogWrite(pin,a); //passing pin no. and duty cycle value
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
}
diff --git a/src/c/scilab-arduino/cmd_dcmotor_release/u8cmd_dcmotor_releases.c b/src/c/scilab-arduino/cmd_dcmotor_release/u8cmd_dcmotor_releases.c
index 349bcb1..a228303 100644
--- a/src/c/scilab-arduino/cmd_dcmotor_release/u8cmd_dcmotor_releases.c
+++ b/src/c/scilab-arduino/cmd_dcmotor_release/u8cmd_dcmotor_releases.c
@@ -15,6 +15,7 @@
void u8cmd_dcmotor_releases(uint8 board_no, uint8 motor_no)
{
+<<<<<<< HEAD
if (dcm_mode[motor_no] == 3)
{
analogWrite(dcm_pin_1[motor_no],0);
@@ -25,5 +26,17 @@ void u8cmd_dcmotor_releases(uint8 board_no, uint8 motor_no)
{
digitalWrite(dcm_pin_1[motor_no],LOW);
digitalWrite(dcm_pin_2[motor_no],LOW);
+=======
+ if (dcm_mode[motor_no] == 3) //for IC accepting analog value
+ {
+ analogWrite(dcm_pin_1[motor_no],0); //passing LOW to IC pins to stop the motor
+ analogWrite(dcm_pin_2[motor_no],0);
+ }
+
+ else //for IC accepting digital value
+ {
+ digitalWrite(dcm_pin_1[motor_no],LOW);
+ digitalWrite(dcm_pin_2[motor_no],LOW); //passing LOW to IC pins to stop the motor
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
}
}
diff --git a/src/c/scilab-arduino/cmd_i2c_dev/u8cmd_i2c_devs.cpp b/src/c/scilab-arduino/cmd_i2c_dev/u8cmd_i2c_devs.cpp
index adc1a6e..2ba4d39 100644
--- a/src/c/scilab-arduino/cmd_i2c_dev/u8cmd_i2c_devs.cpp
+++ b/src/c/scilab-arduino/cmd_i2c_dev/u8cmd_i2c_devs.cpp
@@ -1,10 +1,34 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+//This function establishes I2C communication between arduino and given device
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#include "cmd_i2c_dev.h"
#include "Arduino.h"
#include "Wire.h"
+<<<<<<< HEAD
uint8 u8cmd_i2c_devs(uint8 address)
{
Wire.begin();
return((uint8)address);
+=======
+uint8 u8cmd_i2c_devs(uint8 address)
+{
+ Wire.begin(); //To initiate connection
+ return((uint8)address); //Returns address to create a device object
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
}
diff --git a/src/c/scilab-arduino/cmd_i2c_read/u8cmd_i2c_reads.cpp b/src/c/scilab-arduino/cmd_i2c_read/u8cmd_i2c_reads.cpp
index 8f02a87..78ef0ce 100644
--- a/src/c/scilab-arduino/cmd_i2c_read/u8cmd_i2c_reads.cpp
+++ b/src/c/scilab-arduino/cmd_i2c_read/u8cmd_i2c_reads.cpp
@@ -1,3 +1,20 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+//This function reads data from I2C bus.
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#include "cmd_i2c_read.h"
#include "Arduino.h"
#include "Wire.h"
diff --git a/src/c/scilab-arduino/cmd_i2c_read_register/u8cmd_i2c_read_registers.cpp b/src/c/scilab-arduino/cmd_i2c_read_register/u8cmd_i2c_read_registers.cpp
index 0a2ec2e..6b54159 100644
--- a/src/c/scilab-arduino/cmd_i2c_read_register/u8cmd_i2c_read_registers.cpp
+++ b/src/c/scilab-arduino/cmd_i2c_read_register/u8cmd_i2c_read_registers.cpp
@@ -1,3 +1,20 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+//this function reads data from the device register with given address
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#include "cmd_i2c_read_register.h"
#include "Arduino.h"
#include "Wire.h"
diff --git a/src/c/scilab-arduino/cmd_i2c_write/u8cmd_i2c_writes.cpp b/src/c/scilab-arduino/cmd_i2c_write/u8cmd_i2c_writes.cpp
index 0239097..788fd08 100644
--- a/src/c/scilab-arduino/cmd_i2c_write/u8cmd_i2c_writes.cpp
+++ b/src/c/scilab-arduino/cmd_i2c_write/u8cmd_i2c_writes.cpp
@@ -1,3 +1,19 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+//This function writes data to the connected device
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#include "cmd_i2c_write.h"
#include "Arduino.h"
#include "Wire.h"
diff --git a/src/c/scilab-arduino/cmd_i2c_write_register/u8cmd_i2c_write_registers.cpp b/src/c/scilab-arduino/cmd_i2c_write_register/u8cmd_i2c_write_registers.cpp
index 63cc7c7..f10dd97 100644
--- a/src/c/scilab-arduino/cmd_i2c_write_register/u8cmd_i2c_write_registers.cpp
+++ b/src/c/scilab-arduino/cmd_i2c_write_register/u8cmd_i2c_write_registers.cpp
@@ -1,3 +1,20 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+//This function writes to the register of the device
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#include "cmd_i2c_write_register.h"
#include "Arduino.h"
#include "Wire.h"
diff --git a/src/c/scilab-arduino/default_files/sci2c_arduino.ino b/src/c/scilab-arduino/default_files/sci2c_arduino.ino
index df28950..5d5d101 100644
--- a/src/c/scilab-arduino/default_files/sci2c_arduino.ino
+++ b/src/c/scilab-arduino/default_files/sci2c_arduino.ino
@@ -11,8 +11,13 @@
*/
#include "Arduino.h"
+<<<<<<< HEAD
#include <loop_arduino.h>
#include <setup_arduino.h>
+=======
+#include "loop_arduino.h"
+#include "setup_arduino.h"
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
void setup()
{
diff --git a/src/c/scilab-arduino/includes/cmd_i2c_dev.h b/src/c/scilab-arduino/includes/cmd_i2c_dev.h
index 861a8e7..85d154a 100644
--- a/src/c/scilab-arduino/includes/cmd_i2c_dev.h
+++ b/src/c/scilab-arduino/includes/cmd_i2c_dev.h
@@ -1,3 +1,18 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifndef __CMD_I2C_DEV_H__
#define __CMD_I2C_DEV_H__
diff --git a/src/c/scilab-arduino/includes/cmd_i2c_read.h b/src/c/scilab-arduino/includes/cmd_i2c_read.h
index 791bdd3..e49abcd 100644
--- a/src/c/scilab-arduino/includes/cmd_i2c_read.h
+++ b/src/c/scilab-arduino/includes/cmd_i2c_read.h
@@ -1,3 +1,18 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifndef __CMD_I2C_READ_H__
#define __CMD_I2C_READ_H__
diff --git a/src/c/scilab-arduino/includes/cmd_i2c_read_register.h b/src/c/scilab-arduino/includes/cmd_i2c_read_register.h
index ea203ad..1b3a3cf 100644
--- a/src/c/scilab-arduino/includes/cmd_i2c_read_register.h
+++ b/src/c/scilab-arduino/includes/cmd_i2c_read_register.h
@@ -1,3 +1,18 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifndef __CMD_I2C_READ_REGISTER_H__
#define __CMD_I2C_READ_REGISTER_H__
diff --git a/src/c/scilab-arduino/includes/cmd_i2c_write.h b/src/c/scilab-arduino/includes/cmd_i2c_write.h
index 6a57222..58667c7 100644
--- a/src/c/scilab-arduino/includes/cmd_i2c_write.h
+++ b/src/c/scilab-arduino/includes/cmd_i2c_write.h
@@ -1,3 +1,18 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifndef __CMD_I2C_WRITE_H__
#define __CMD_I2C_WRITE_H__
diff --git a/src/c/scilab-arduino/includes/cmd_i2c_write_register.h b/src/c/scilab-arduino/includes/cmd_i2c_write_register.h
index ff1b9ec..bf8e788 100644
--- a/src/c/scilab-arduino/includes/cmd_i2c_write_register.h
+++ b/src/c/scilab-arduino/includes/cmd_i2c_write_register.h
@@ -1,3 +1,18 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifndef __CMD_I2C_WRITE_REGISTER_H__
#define __CMD_I2C_WRITE_REGISTER_H__
diff --git a/src/c/scilab-arduino/interfaces/int_cmd_i2c_dev.h b/src/c/scilab-arduino/interfaces/int_cmd_i2c_dev.h
index c4d93d7..c1de1b7 100644
--- a/src/c/scilab-arduino/interfaces/int_cmd_i2c_dev.h
+++ b/src/c/scilab-arduino/interfaces/int_cmd_i2c_dev.h
@@ -1,3 +1,18 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifndef __INT_CMD_I2C_DEV_H__
#define __INT_CMD_I2C_DEV_H__
diff --git a/src/c/scilab-arduino/interfaces/int_cmd_i2c_read.h b/src/c/scilab-arduino/interfaces/int_cmd_i2c_read.h
index b0633a0..ef11426 100644
--- a/src/c/scilab-arduino/interfaces/int_cmd_i2c_read.h
+++ b/src/c/scilab-arduino/interfaces/int_cmd_i2c_read.h
@@ -1,3 +1,18 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifndef __INT_CMD_I2C_READ_H__
#define __INT_CMD_I2C_READ_H__
diff --git a/src/c/scilab-arduino/interfaces/int_cmd_i2c_read_register.h b/src/c/scilab-arduino/interfaces/int_cmd_i2c_read_register.h
index 5f4c529..c2cdc65 100644
--- a/src/c/scilab-arduino/interfaces/int_cmd_i2c_read_register.h
+++ b/src/c/scilab-arduino/interfaces/int_cmd_i2c_read_register.h
@@ -1,3 +1,18 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifndef __INT_CMD_I2C_READ_REGISTER_H__
#define __INT_CMD_I2C_READ_REGISTER_H__
diff --git a/src/c/scilab-arduino/interfaces/int_cmd_i2c_write.h b/src/c/scilab-arduino/interfaces/int_cmd_i2c_write.h
index a7705a8..23474a7 100644
--- a/src/c/scilab-arduino/interfaces/int_cmd_i2c_write.h
+++ b/src/c/scilab-arduino/interfaces/int_cmd_i2c_write.h
@@ -1,3 +1,18 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifndef __INT_CMD_I2C_WRITE_H__
#define __INT_CMD_I2C_WRITE_H__
diff --git a/src/c/scilab-arduino/interfaces/int_cmd_i2c_write_register.h b/src/c/scilab-arduino/interfaces/int_cmd_i2c_write_register.h
index 35c0527..e385b3f 100644
--- a/src/c/scilab-arduino/interfaces/int_cmd_i2c_write_register.h
+++ b/src/c/scilab-arduino/interfaces/int_cmd_i2c_write_register.h
@@ -1,3 +1,18 @@
+<<<<<<< HEAD
+=======
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Yash Pratap Singh Tomar
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifndef __INT_CMD_I2C_WRITE_REGISTER_H__
#define __INT_CMD_I2C_WRITE_REGISTER_H__
diff --git a/src/c/string/disp/ddispa.c b/src/c/string/disp/ddispa.c
index 29aacee..3ae1d15 100644
--- a/src/c/string/disp/ddispa.c
+++ b/src/c/string/disp/ddispa.c
@@ -16,7 +16,11 @@ double ddispa (double* in, int rows, int columns){
int i = 0,j = 0;
for (i = 0; i < rows; ++i) {
+<<<<<<< HEAD
for (j=0;j<columns;j++) printf (" %e ", in[i+j*rows]);
+=======
+ for (j=0;j<columns;j++) printf (" %1.20f ", in[i+j*rows]);
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
printf("\n");
}
return 0;
diff --git a/src/c/type/doubleComplex.h b/src/c/type/doubleComplex.h
index 4be0d7d..c2e2d2e 100644
--- a/src/c/type/doubleComplex.h
+++ b/src/c/type/doubleComplex.h
@@ -45,6 +45,24 @@ typedef struct double_complex doubleComplex;
/*
** }
*/
+<<<<<<< HEAD
+=======
+#elif defined(ARDUINO)
+/*
+** Hand made Double Complex definition
+** {
+*/
+struct double_complex
+{
+ double real;
+ double imag;
+};
+
+typedef struct double_complex doubleComplex;
+/*
+** }
+*/
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#else
/*
** Standard C99 Complex
@@ -57,7 +75,10 @@ typedef double complex doubleComplex;
** }
*/
#endif
+<<<<<<< HEAD
+=======
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/src/c/type/floatComplex.h b/src/c/type/floatComplex.h
index fe35ca4..fb4039b 100644
--- a/src/c/type/floatComplex.h
+++ b/src/c/type/floatComplex.h
@@ -44,6 +44,24 @@ struct float_complex
typedef struct float_complex floatComplex;
/*
** }
+<<<<<<< HEAD
+=======
+*/
+#elif defined(ARDUINO)
+/*
+** Hand made Float Complex definition
+** {
+*/
+struct float_complex
+{
+ float real;
+ float imag;
+};
+
+typedef struct float_complex floatComplex;
+/*
+** }
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
*/
#else
/*
diff --git a/src/c/type/types.h b/src/c/type/types.h
index a76bf30..8379003 100644
--- a/src/c/type/types.h
+++ b/src/c/type/types.h
@@ -4,7 +4,11 @@
/*****************************************************************************/
/* TYPE DEFINITIONS */
/*****************************************************************************/
+<<<<<<< HEAD
typedef unsigned char boolean;
+=======
+/*typedef unsigned char boolean;*/
+>>>>>>> 9e5793a7b05b23e6044a6d7a9ddd5db39ba375f0
typedef unsigned char uint8;
typedef unsigned short uint16;