summaryrefslogtreecommitdiff
path: root/src/c/hardware/rasberrypi/pwm
diff options
context:
space:
mode:
Diffstat (limited to 'src/c/hardware/rasberrypi/pwm')
-rw-r--r--src/c/hardware/rasberrypi/pwm/gRPI_pwmModea.c25
-rw-r--r--src/c/hardware/rasberrypi/pwm/u16RPI_pwmClocks.c23
-rw-r--r--src/c/hardware/rasberrypi/pwm/u32RPI_pwmRanges.c22
-rw-r--r--src/c/hardware/rasberrypi/pwm/u8RPI_pwmToneWrites.c17
-rw-r--r--src/c/hardware/rasberrypi/pwm/u8RPI_pwmWrites.c19
5 files changed, 106 insertions, 0 deletions
diff --git a/src/c/hardware/rasberrypi/pwm/gRPI_pwmModea.c b/src/c/hardware/rasberrypi/pwm/gRPI_pwmModea.c
new file mode 100644
index 0000000..da67a15
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pwm/gRPI_pwmModea.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, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPWM.h"
+
+/*Function to set mode for PWM channel. Two modes are available
+ "bal" --> balanced mode
+ "ms" --> mark/space mode
+ */
+
+void gRPI_pwmModea(char* mode,int size){
+ if (mode[0] == 'm') /*mark/space mode*/
+ pwmSetMode(0);
+ else if (mode[0] == 'b')
+ pwmSetMode(1);
+}
diff --git a/src/c/hardware/rasberrypi/pwm/u16RPI_pwmClocks.c b/src/c/hardware/rasberrypi/pwm/u16RPI_pwmClocks.c
new file mode 100644
index 0000000..85e1fb2
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pwm/u16RPI_pwmClocks.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, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPWM.h"
+
+/*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
+*/
+
+void u16RPI_pwmClocks(uint16 divisor){
+ pwmSetClock(divisor);
+}
diff --git a/src/c/hardware/rasberrypi/pwm/u32RPI_pwmRanges.c b/src/c/hardware/rasberrypi/pwm/u32RPI_pwmRanges.c
new file mode 100644
index 0000000..1fb2296
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pwm/u32RPI_pwmRanges.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, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPWM.h"
+
+/*Function to assign pwm duty to specified pin. PWM duty is decided by 'value'
+ and 'range' specified using corresponding function.
+ PWM duty = value/range
+ */
+
+void u32RPI_pwmRanges(uint32 value){
+ pwmSetRange(value);
+}
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPI_pwmToneWrites.c b/src/c/hardware/rasberrypi/pwm/u8RPI_pwmToneWrites.c
new file mode 100644
index 0000000..fe1b8cd
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pwm/u8RPI_pwmToneWrites.c
@@ -0,0 +1,17 @@
+/* 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, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPWM.h"
+
+void u8RPI_pwmToneWrites(uint8 pin, uint16 value){
+ pwmToneWrite(pin, value);
+}
diff --git a/src/c/hardware/rasberrypi/pwm/u8RPI_pwmWrites.c b/src/c/hardware/rasberrypi/pwm/u8RPI_pwmWrites.c
new file mode 100644
index 0000000..be94e73
--- /dev/null
+++ b/src/c/hardware/rasberrypi/pwm/u8RPI_pwmWrites.c
@@ -0,0 +1,19 @@
+/* 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, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "RPIPeripheralPWM.h"
+
+/*Function to write the given value to the pwm pin*/
+
+void u8RPI_pwmWrites(uint8 pin, uint16 value){
+ pwmWrite(pin, value);
+}