23
23
/*
24
24
* SPI instance function
25
25
*/
26
- static void iotjs_spi_destroy (iotjs_spi_t * spi );
27
26
static iotjs_spi_t * iotjs_spi_instance_from_jval (const iotjs_jval_t * jspi );
28
- IOTJS_DEFINE_NATIVE_HANDLE_INFO (spi );
29
27
28
+ IOTJS_DEFINE_NATIVE_HANDLE_INFO_THIS_MODULE (spi );
30
29
31
30
static iotjs_spi_t * iotjs_spi_create (const iotjs_jval_t * jspi ) {
32
31
iotjs_spi_t * spi = IOTJS_ALLOC (iotjs_spi_t );
33
32
IOTJS_VALIDATED_STRUCT_CONSTRUCTOR (iotjs_spi_t , spi );
34
- iotjs_jobjectwrap_initialize (& _this -> jobjectwrap , jspi , & spi_native_info );
33
+ iotjs_jobjectwrap_initialize (& _this -> jobjectwrap , jspi ,
34
+ & this_module_native_info );
35
35
36
36
_this -> device = iotjs_string_create ("" );
37
37
@@ -51,14 +51,14 @@ static void iotjs_spi_destroy(iotjs_spi_t* spi) {
51
51
52
52
53
53
static iotjs_spi_reqwrap_t * iotjs_spi_reqwrap_create (
54
- const iotjs_jval_t * jcallback , const iotjs_jval_t * jspi , SpiOp op ) {
54
+ const iotjs_jval_t * jcallback , const iotjs_spi_t * spi , SpiOp op ) {
55
55
iotjs_spi_reqwrap_t * spi_reqwrap = IOTJS_ALLOC (iotjs_spi_reqwrap_t );
56
56
IOTJS_VALIDATED_STRUCT_CONSTRUCTOR (iotjs_spi_reqwrap_t , spi_reqwrap );
57
57
58
58
iotjs_reqwrap_initialize (& _this -> reqwrap , jcallback , (uv_req_t * )& _this -> req );
59
59
60
60
_this -> req_data .op = op ;
61
- _this -> spi_instance = iotjs_spi_instance_from_jval ( jspi ) ;
61
+ _this -> spi_instance = spi ;
62
62
63
63
return spi_reqwrap ;
64
64
}
@@ -312,11 +312,11 @@ iotjs_spi_t* iotjs_spi_get_instance(const iotjs_jval_t* jspi) {
312
312
}
313
313
314
314
315
- #define SPI_ASYNC (call , jthis , jcallback , op ) \
315
+ #define SPI_ASYNC (call , this , jcallback , op ) \
316
316
do { \
317
317
uv_loop_t* loop = iotjs_environment_loop(iotjs_environment_get()); \
318
318
iotjs_spi_reqwrap_t* req_wrap = \
319
- iotjs_spi_reqwrap_create(jcallback, jthis , op); \
319
+ iotjs_spi_reqwrap_create(jcallback, this , op); \
320
320
uv_work_t* req = iotjs_spi_reqwrap_req(req_wrap); \
321
321
uv_queue_work(loop, req, iotjs_spi_##call##_worker, iotjs_spi_after_work); \
322
322
} while (0)
@@ -336,25 +336,24 @@ JHANDLER_FUNCTION(SpiConstructor) {
336
336
iotjs_spi_set_configuration (spi , jconfiguration );
337
337
338
338
const iotjs_jval_t * jcallback = JHANDLER_GET_ARG (1 , function );
339
- SPI_ASYNC (open , jspi , jcallback , kSpiOpOpen );
339
+ SPI_ASYNC (open , spi , jcallback , kSpiOpOpen );
340
340
}
341
341
342
342
343
343
// FIXME: do not need transferArray if array buffer is implemented.
344
344
JHANDLER_FUNCTION (TransferArray ) {
345
- DJHANDLER_CHECK_THIS (object );
345
+ JHANDLER_DECLARE_THIS_PTR (spi , spi );
346
+
346
347
DJHANDLER_CHECK_ARGS (2 , array , array );
347
348
DJHANDLER_CHECK_ARG_IF_EXIST (2 , function );
348
349
349
350
const iotjs_jval_t * jcallback = JHANDLER_GET_ARG_IF_EXIST (2 , function );
350
- const iotjs_jval_t * jspi = JHANDLER_GET_THIS (object );
351
- iotjs_spi_t * spi = iotjs_spi_get_instance (jspi );
352
351
353
352
iotjs_spi_set_array_buffer (spi , JHANDLER_GET_ARG (0 , array ),
354
353
JHANDLER_GET_ARG (1 , array ));
355
354
356
355
if (jcallback ) {
357
- SPI_ASYNC (transfer , jspi , jcallback , kSpiOpTransfer );
356
+ SPI_ASYNC (transfer , spi , jcallback , kSpiOpTransfer );
358
357
} else {
359
358
if (!iotjs_spi_transfer (spi )) {
360
359
JHANDLER_THROW (COMMON , "SPI Transfer Error" );
@@ -371,19 +370,18 @@ JHANDLER_FUNCTION(TransferArray) {
371
370
372
371
373
372
JHANDLER_FUNCTION (TransferBuffer ) {
374
- DJHANDLER_CHECK_THIS (object );
373
+ JHANDLER_DECLARE_THIS_PTR (spi , spi );
374
+
375
375
DJHANDLER_CHECK_ARGS (2 , object , object );
376
376
DJHANDLER_CHECK_ARG_IF_EXIST (2 , function );
377
377
378
378
const iotjs_jval_t * jcallback = JHANDLER_GET_ARG_IF_EXIST (2 , function );
379
- const iotjs_jval_t * jspi = JHANDLER_GET_THIS (object );
380
- iotjs_spi_t * spi = iotjs_spi_get_instance (jspi );
381
379
382
380
iotjs_spi_set_buffer (spi , JHANDLER_GET_ARG (0 , object ),
383
381
JHANDLER_GET_ARG (1 , object ));
384
382
385
383
if (jcallback ) {
386
- SPI_ASYNC (transfer , jspi , jcallback , kSpiOpTransfer );
384
+ SPI_ASYNC (transfer , spi , jcallback , kSpiOpTransfer );
387
385
} else {
388
386
if (!iotjs_spi_transfer (spi )) {
389
387
JHANDLER_THROW (COMMON , "SPI Transfer Error" );
@@ -400,15 +398,14 @@ JHANDLER_FUNCTION(TransferBuffer) {
400
398
401
399
402
400
JHANDLER_FUNCTION (Close ) {
403
- DJHANDLER_CHECK_THIS (object );
401
+ JHANDLER_DECLARE_THIS_PTR (spi , spi );
402
+
404
403
DJHANDLER_CHECK_ARG_IF_EXIST (0 , function );
405
404
406
405
const iotjs_jval_t * jcallback = JHANDLER_GET_ARG_IF_EXIST (0 , function );
407
- const iotjs_jval_t * jspi = JHANDLER_GET_THIS (object );
408
- iotjs_spi_t * spi = iotjs_spi_get_instance (jspi );
409
406
410
407
if (jcallback ) {
411
- SPI_ASYNC (close , jspi , jcallback , kSpiOpClose );
408
+ SPI_ASYNC (close , spi , jcallback , kSpiOpClose );
412
409
} else {
413
410
if (!iotjs_spi_close (spi )) {
414
411
JHANDLER_THROW (COMMON , "SPI Close Error" );
0 commit comments