1/*
2 * PWM's options are configured in app.json.
3
4{
5    "version": "0.0.1",
6    "io": {
7        "pwm0": {
8            "type": "PWM",
9            "port": 0
10        },
11        "timer1": {
12            "type":"TIMER",
13            "port": 0
14        }
15    },
16    "debugLevel": "DEBUG"
17  }
18*/
19import * as pwm from 'pwm'
20import * as timer from 'timer'
21
22console.log('pwm: pwm test open ')
23
24var pwm1 = pwm.open({
25  id: 'pwm0',
26  success: function() {
27    console.log('pwm: open pwm success')
28  },
29  fail: function() {
30    console.log('pwm: open pwm failed')
31  }
32});
33
34var timer1 = timer.open({
35    id: 'timer1'
36  });
37
38var freq = pwm1.get().freq
39var duty = pwm1.get().duty
40
41console.log('pwm: pwm default config freq is ' + freq + ' duty is ' + duty)
42
43console.log('pwm: pwm test start ')
44
45duty = 0;
46var cnt = 10;
47var loop = 10;
48
49timer1.setInterval(function(){
50  if (duty >= 100) {
51    duty = 0;
52  }
53  duty  = duty + 10;
54
55  pwm1.set({
56    freq: 200, /* Configure 200 ~ 900 to make the buzzer work  */
57    duty: duty
58  })
59
60  freq = pwm1.get().freq
61  duty = pwm1.get().duty
62
63  console.log('pwm: pwm timer config freq is ' + freq + ' duty is ' + duty)
64
65  console.log('pwm: pwm test count ' + cnt)
66  cnt = cnt - 1;
67  if (cnt == 0) {
68
69    console.log('pwm: pwm test finish loop ' + loop)
70    loop--;
71    if (loop == 0)
72    {
73      pwm1.close();
74      timer1.clearInterval();
75    }
76    // else {
77    //     pwm1 = pwm.open({
78    //         id: 'pwm1',
79    //         success: function() {
80    //           console.log('pwm: open pwm success')
81    //         },
82    //         fail: function() {
83    //           console.log('pwm: open pwm failed')
84    //         }
85    //       });
86    // }
87
88    cnt = 10;
89  }
90
91}, 1000000)
92