MATSU-bed(LPC1549)でPWMを4つ以上出すプログラム

Dependents:   servo_controller_1549

Revision:
1:aefedd6b2a6f
Parent:
0:64b18a3829f1
Child:
2:322ad3eef278
diff -r 64b18a3829f1 -r aefedd6b2a6f pwm_all_api.c
--- a/pwm_all_api.c	Wed Apr 20 08:12:06 2016 +0000
+++ b/pwm_all_api.c	Wed Nov 01 16:20:31 2017 +0000
@@ -37,7 +37,7 @@
     return -1;
 }
 
-void pwmout_init(pwmout_t* obj, PinName pin) {
+void pwmout_all_init(pwmout_t* obj, PinName pin) {
     MBED_ASSERT(pin != (uint32_t)NC);
 
     int sct_n = get_available_sct();
@@ -110,17 +110,17 @@
     pwm->CTRL &= ~(1 << 2);
 
     // default to 20ms: standard for servos, and fine for e.g. brightness control
-    pwmout_period_ms(obj, 20);
-    pwmout_write    (obj, 0);
+    pwmout_all_period_ms(obj, 20);
+    pwmout_all_write    (obj, 0);
 }
 
-void pwmout_free(pwmout_t* obj) {
+void pwmout_all_free(pwmout_t* obj) {
     // Disable the SCT clock
     LPC_SYSCON->SYSAHBCLKCTRL1 &= ~(1 << (obj->pwm_ch + 2));
     sct_used &= ~(1 << obj->pwm_ch);
 }
 
-void pwmout_write(pwmout_t* obj, float value) {
+void pwmout_all_write(pwmout_t* obj, float value) {
     LPC_SCT0_Type* pwm = obj->pwm;
     if (value < 0.0f) {
         value = 0.0;
@@ -131,23 +131,23 @@
     pwm->MATCHREL1 = t_on;
 }
 
-float pwmout_read(pwmout_t* obj) {
+float pwmout_all_read(pwmout_t* obj) {
     uint32_t t_off = obj->pwm->MATCHREL0;
     uint32_t t_on  = obj->pwm->MATCHREL1;
     float v = (float)t_on/(float)t_off;
     return (v > 1.0f) ? (1.0f) : (v);
 }
 
-void pwmout_period(pwmout_t* obj, float seconds) {
-    pwmout_period_us(obj, seconds * 1000000.0f);
+void pwmout_all_period(pwmout_t* obj, float seconds) {
+    pwmout_all_period_us(obj, seconds * 1000000.0f);
 }
 
-void pwmout_period_ms(pwmout_t* obj, int ms) {
-    pwmout_period_us(obj, ms * 1000);
+void pwmout_all_period_ms(pwmout_t* obj, int ms) {
+    pwmout_all_period_us(obj, ms * 1000);
 }
 
 // Set the PWM period, keeping the duty cycle the same.
-void pwmout_period_us(pwmout_t* obj, int us) {
+void pwmout_all_period_us(pwmout_t* obj, int us) {
     LPC_SCT0_Type* pwm = obj->pwm;
     uint32_t t_off = pwm->MATCHREL0;
     uint32_t t_on  = pwm->MATCHREL1;
@@ -156,14 +156,14 @@
     pwm->MATCHREL1 = (uint32_t)((float)us * (float)v);
 }
 
-void pwmout_pulsewidth(pwmout_t* obj, float seconds) {
-    pwmout_pulsewidth_us(obj, seconds * 1000000.0f);
+void pwmout_all_pulsewidth(pwmout_t* obj, float seconds) {
+    pwmout_all_pulsewidth_us(obj, seconds * 1000000.0f);
 }
 
-void pwmout_pulsewidth_ms(pwmout_t* obj, int ms) {
-    pwmout_pulsewidth_us(obj, ms * 1000);
+void pwmout_all_pulsewidth_ms(pwmout_t* obj, int ms) {
+    pwmout_all_pulsewidth_us(obj, ms * 1000);
 }
 
-void pwmout_pulsewidth_us(pwmout_t* obj, int us) {
+void pwmout_all_pulsewidth_us(pwmout_t* obj, int us) {
     obj->pwm->MATCHREL1 = (uint32_t)us;
 }