| 8481 | #define MAX_FRAME_LENGTH 1024 |
| 8482 | |
| 8483 | static int async_data_handler_start(RIG *rig) |
| 8484 | { |
| 8485 | struct rig_state *rs = STATE(rig); |
| 8486 | async_data_handler_priv_data *async_data_handler_priv; |
| 8487 | |
| 8488 | ENTERFUNC; |
| 8489 | |
| 8490 | if (!rs->async_data_enabled) |
| 8491 | { |
| 8492 | rig_debug(RIG_DEBUG_TRACE, |
| 8493 | "%s: async data support disabled since async_data_enabled=%d\n", __func__, |
| 8494 | rs->async_data_enabled); |
| 8495 | RETURNFUNC(RIG_OK); |
| 8496 | } |
| 8497 | |
| 8498 | sleep(2); // give other things a chance to finish opening up the rig |
| 8499 | |
| 8500 | rs->async_data_handler_thread_run = 1; |
| 8501 | rs->async_data_handler_priv_data = calloc(1, |
| 8502 | sizeof(async_data_handler_priv_data)); |
| 8503 | |
| 8504 | if (rs->async_data_handler_priv_data == NULL) |
| 8505 | { |
| 8506 | RETURNFUNC(-RIG_ENOMEM); |
| 8507 | } |
| 8508 | |
| 8509 | async_data_handler_priv = (async_data_handler_priv_data *) |
| 8510 | rs->async_data_handler_priv_data; |
| 8511 | async_data_handler_priv->args.rig = rig; |
| 8512 | int err = pthread_create(&async_data_handler_priv->thread_id, NULL, |
| 8513 | async_data_handler, &async_data_handler_priv->args); |
| 8514 | |
| 8515 | if (err) |
| 8516 | { |
| 8517 | rig_debug(RIG_DEBUG_ERR, "%s: pthread_create error: %s\n", __func__, |
| 8518 | strerror(errno)); |
| 8519 | RETURNFUNC(-RIG_EINTERNAL); |
| 8520 | } |
| 8521 | |
| 8522 | RETURNFUNC(RIG_OK); |
| 8523 | } |
| 8524 | |
| 8525 | static int morse_data_handler_start(RIG *rig) |
| 8526 | { |
no test coverage detected