[GitHub] mkiiskila commented on a change in pull request #448: [WIP DO NOT MERGE] PWM high level API

2017-08-02 Thread git
mkiiskila commented on a change in pull request #448: [WIP DO NOT MERGE] PWM 
high level API
URL: https://github.com/apache/mynewt-core/pull/448#discussion_r131001392
 
 

 ##
 File path: apps/pwm_test/src/main.c
 ##
 @@ -0,0 +1,71 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#include "sysinit/sysinit.h"
+#include 
+#include 
+#include 
+#include 
+
+static struct os_dev dev;
+int arg = 0;
+struct pwm_dev *pwm;
+static int value = 1;
+
+int
+main(int argc, char **argv)
+{
+sysinit();
+
+struct nrf52_pwm_chan_cfg chan_conf = {
+.pin = LED_1,
+.inverted = true
+};
+
+os_dev_create(&dev,
+  "pwm",
+  OS_DEV_INIT_KERNEL,
+  OS_DEV_INIT_PRIO_DEFAULT,
+  nrf52_pwm_dev_init,
+  NULL);
+pwm = (struct pwm_dev *) os_dev_open("pwm", 0, NULL);
+
+pwm_chan_config(pwm, 0, &chan_conf);
+pwm_enable_duty_cycle(pwm, 0, 1);
+
+chan_conf.pin = LED_2;
+pwm_chan_config(pwm, 1, &chan_conf);
+pwm_enable_duty_cycle(pwm, 1, value/10);
+
+//changing frequency while playing
 
 Review comment:
   Also c++ comments are not allowed according to our coding style. See 
CODING_STANDARDS.md
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] mkiiskila commented on a change in pull request #448: [WIP DO NOT MERGE] PWM high level API

2017-08-02 Thread git
mkiiskila commented on a change in pull request #448: [WIP DO NOT MERGE] PWM 
high level API
URL: https://github.com/apache/mynewt-core/pull/448#discussion_r131000798
 
 

 ##
 File path: apps/pwm_test/pkg.yml
 ##
 @@ -0,0 +1,35 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+pkg.name: apps/pwm_test
+pkg.type: app
+pkg.description: Basic example application which blinks an LED.
+pkg.author: "Apache Mynewt "
+pkg.homepage: "http://mynewt.apache.org/";
+pkg.keywords:
+
+pkg.deps:
+- kernel/os
+   # - hw/hal
+   # - hw/cmsis-core
+- sys/console/full
+   # - hw/bsp/nrf52dk
+- hw/drivers/pwm
+   # - "@mynewt_nordic/hw/mcu/nordic_sdk"
+- "@mynewt_nordic/hw/drivers/pwm/pwm_nrf52"
 
 Review comment:
   I would remove the dependency on pwm_nrf52, and move it to 
hw/bsp//pkg.yml instead.
   Also I would do the os_dev_create() within that BSPs hal_bsp_init(). Make 
the creation of the device to be a syscfg within the BSP. That would allow you 
to use this same app with BSPs which use some other MCU (once PWM drivers for 
those architectures appear :).
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] mkiiskila commented on a change in pull request #448: [WIP DO NOT MERGE] PWM high level API

2017-08-02 Thread git
mkiiskila commented on a change in pull request #448: [WIP DO NOT MERGE] PWM 
high level API
URL: https://github.com/apache/mynewt-core/pull/448#discussion_r13089
 
 

 ##
 File path: apps/pwm_test/src/main.c
 ##
 @@ -0,0 +1,71 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#include "sysinit/sysinit.h"
+#include 
+#include 
+#include 
+#include 
+
+static struct os_dev dev;
+int arg = 0;
+struct pwm_dev *pwm;
+static int value = 1;
+
+int
+main(int argc, char **argv)
+{
+sysinit();
+
+struct nrf52_pwm_chan_cfg chan_conf = {
 
 Review comment:
   Coding style thing; declare variables in the beginning of function, before 
other statements. I.e. before call to sysinit().
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] mkiiskila commented on a change in pull request #448: [WIP DO NOT MERGE] PWM high level API

2017-08-02 Thread git
mkiiskila commented on a change in pull request #448: [WIP DO NOT MERGE] PWM 
high level API
URL: https://github.com/apache/mynewt-core/pull/448#discussion_r131003957
 
 

 ##
 File path: hw/drivers/pwm/src/pwm.c
 ##
 @@ -0,0 +1,136 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
 
 Review comment:
   I would recommend including  here before other #include's. 
In case there'll be syscfg settings later which affect this file.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] mkiiskila commented on a change in pull request #448: [WIP DO NOT MERGE] PWM high level API

2017-08-02 Thread git
mkiiskila commented on a change in pull request #448: [WIP DO NOT MERGE] PWM 
high level API
URL: https://github.com/apache/mynewt-core/pull/448#discussion_r131003490
 
 

 ##
 File path: hw/bsp/nrf52dk/pkg.yml
 ##
 @@ -39,8 +39,8 @@ pkg.cflags:
 - '-DPDM_ENABLED=0'
 - '-DPERIPHERAL_RESOURCE_SHARING_ENABLED=1'
 - '-DPWM0_ENABLED=1'
-- '-DPWM1_ENABLED=0'
-- '-DPWM2_ENABLED=0'
+- '-DPWM1_ENABLED=1'
+- '-DPWM2_ENABLED=1'
 
 Review comment:
   I wonder if we could make these SDK flags conditional, such that 
PWMx_ENABLED would be set only if the matching os_dev for that PWM is enabled 
with that BSP.
   I.e. in hw/bsp/nrf52dk/pkg.yml, you would have:
   pkg.cflags.PWM0_ENABLED: -DPWM0_ENABLED
   and in this file you'd have pkg.cflags: -DPWM0_ENABLED.
   
   It *should* work, as newt orders the cflags passed to command line, although 
it might be a bit too hacky. I.e. depends on newt doing the cflag ordering. 
Others might have comments regarding this approach?
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] mkiiskila commented on a change in pull request #448: [WIP DO NOT MERGE] PWM high level API

2017-08-02 Thread git
mkiiskila commented on a change in pull request #448: [WIP DO NOT MERGE] PWM 
high level API
URL: https://github.com/apache/mynewt-core/pull/448#discussion_r131001105
 
 

 ##
 File path: apps/pwm_test/src/main.c
 ##
 @@ -0,0 +1,71 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+#include "sysinit/sysinit.h"
+#include 
+#include 
+#include 
+#include 
+
+static struct os_dev dev;
+int arg = 0;
+struct pwm_dev *pwm;
+static int value = 1;
+
+int
+main(int argc, char **argv)
+{
+sysinit();
+
+struct nrf52_pwm_chan_cfg chan_conf = {
+.pin = LED_1,
+.inverted = true
+};
+
+os_dev_create(&dev,
 
 Review comment:
   I would move this device creation to happen under hw/bsp/, and use 
name "pwm0" for the first one. 
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services