Skip to content

Commit d9c7212

Browse files
robertsipkayichoi
authored andcommitted
Improve type validator in PWM module (#993)
IoT.js-DCO-1.0-Signed-off-by: Robert Sipka [email protected]
1 parent 54c2a8b commit d9c7212

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

src/modules/iotjs_module_pwm.c

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,14 @@ static void iotjs_pwm_destroy(iotjs_pwm_t* pwm) {
5151

5252

5353
static iotjs_pwm_reqwrap_t* iotjs_pwm_reqwrap_create(
54-
const iotjs_jval_t* jcallback, const iotjs_jval_t* jpwm, PwmOp op) {
54+
const iotjs_jval_t* jcallback, const iotjs_pwm_t* pwm, PwmOp op) {
5555
iotjs_pwm_reqwrap_t* pwm_reqwrap = IOTJS_ALLOC(iotjs_pwm_reqwrap_t);
5656
IOTJS_VALIDATED_STRUCT_CONSTRUCTOR(iotjs_pwm_reqwrap_t, pwm_reqwrap);
5757

5858
iotjs_reqwrap_initialize(&_this->reqwrap, jcallback, (uv_req_t*)&_this->req);
5959

6060
_this->req_data.op = op;
61-
_this->pwm_instance = iotjs_pwm_instance_from_jval(jpwm);
61+
_this->pwm_instance = pwm;
6262
_this->req_data.caller = NULL;
6363

6464
return pwm_reqwrap;
@@ -223,22 +223,22 @@ static void iotjs_pwm_after_worker(uv_work_t* work_req, int status) {
223223
}
224224

225225

226-
#define PWM_ASYNC(call, jthis, jcallback, op) \
226+
#define PWM_ASYNC(call, this, jcallback, op) \
227227
do { \
228228
uv_loop_t* loop = iotjs_environment_loop(iotjs_environment_get()); \
229229
iotjs_pwm_reqwrap_t* req_wrap = \
230-
iotjs_pwm_reqwrap_create(jcallback, jthis, op); \
230+
iotjs_pwm_reqwrap_create(jcallback, this, op); \
231231
uv_work_t* req = iotjs_pwm_reqwrap_req(req_wrap); \
232232
uv_queue_work(loop, req, iotjs_pwm_##call##_worker, \
233233
iotjs_pwm_after_worker); \
234234
} while (0)
235235

236236

237-
#define PWM_ASYNC_COMMON_WORKER(call, jthis, jcallback, op) \
237+
#define PWM_ASYNC_COMMON_WORKER(call, this, jcallback, op) \
238238
do { \
239239
uv_loop_t* loop = iotjs_environment_loop(iotjs_environment_get()); \
240240
iotjs_pwm_reqwrap_t* req_wrap = \
241-
iotjs_pwm_reqwrap_create(jcallback, jthis, op); \
241+
iotjs_pwm_reqwrap_create(jcallback, this, op); \
242242
uv_work_t* req = iotjs_pwm_reqwrap_req(req_wrap); \
243243
iotjs_pwm_reqdata_t* req_data = iotjs_pwm_reqwrap_data(req_wrap); \
244244
req_data->caller = call; \
@@ -261,7 +261,7 @@ JHANDLER_FUNCTION(PWMConstructor) {
261261
// Set configuration
262262
iotjs_pwm_set_configuration(jconfiguration, pwm);
263263

264-
PWM_ASYNC(open, jpwm, jcallback, kPwmOpOpen);
264+
PWM_ASYNC(open, pwm, jcallback, kPwmOpOpen);
265265
}
266266

267267

@@ -277,9 +277,7 @@ JHANDLER_FUNCTION(SetPeriod) {
277277
_this->period = JHANDLER_GET_ARG(0, number);
278278

279279
if (jcallback) {
280-
const iotjs_jval_t* jpwm = JHANDLER_GET_THIS(object);
281-
282-
PWM_ASYNC_COMMON_WORKER(iotjs_pwm_set_period, jpwm, jcallback,
280+
PWM_ASYNC_COMMON_WORKER(iotjs_pwm_set_period, pwm, jcallback,
283281
kPwmOpSetPeriod);
284282
} else {
285283
if (!iotjs_pwm_set_period(pwm)) {
@@ -303,9 +301,7 @@ JHANDLER_FUNCTION(SetDutyCycle) {
303301
_this->duty_cycle = JHANDLER_GET_ARG(0, number);
304302

305303
if (jcallback) {
306-
const iotjs_jval_t* jpwm = JHANDLER_GET_THIS(object);
307-
308-
PWM_ASYNC_COMMON_WORKER(iotjs_pwm_set_dutycycle, jpwm, jcallback,
304+
PWM_ASYNC_COMMON_WORKER(iotjs_pwm_set_dutycycle, pwm, jcallback,
309305
kPwmOpSetDutyCycle);
310306
} else {
311307
if (!iotjs_pwm_set_dutycycle(pwm)) {
@@ -329,8 +325,7 @@ JHANDLER_FUNCTION(SetEnable) {
329325
_this->enable = JHANDLER_GET_ARG(0, boolean);
330326

331327
if (jcallback) {
332-
const iotjs_jval_t* jpwm = JHANDLER_GET_THIS(object);
333-
PWM_ASYNC_COMMON_WORKER(iotjs_pwm_set_enable, jpwm, jcallback,
328+
PWM_ASYNC_COMMON_WORKER(iotjs_pwm_set_enable, pwm, jcallback,
334329
kPwmOpSetEnable);
335330
} else {
336331
if (!iotjs_pwm_set_enable(pwm)) {
@@ -349,8 +344,7 @@ JHANDLER_FUNCTION(Close) {
349344
const iotjs_jval_t* jcallback = JHANDLER_GET_ARG_IF_EXIST(0, function);
350345

351346
if (jcallback) {
352-
const iotjs_jval_t* jpwm = JHANDLER_GET_THIS(object);
353-
PWM_ASYNC_COMMON_WORKER(iotjs_pwm_close, jpwm, jcallback, kPwmOpClose);
347+
PWM_ASYNC_COMMON_WORKER(iotjs_pwm_close, pwm, jcallback, kPwmOpClose);
354348
} else {
355349
if (!iotjs_pwm_close(pwm)) {
356350
JHANDLER_THROW(COMMON, "PWM Close Error");

0 commit comments

Comments
 (0)