/** * @brief Initializes a generic full duplex driver object. * @details The HW dependent part of the initialization has to be performed * outside, usually in the hardware initialization code. * * @param[out] bdup pointer to a @p BulkUSBDriver structure * * @init */ void bduObjectInit(BulkUSBDriver *bdup) { bdup->vmt = &vmt; chEvtInit(&bdup->event); bdup->state = BDU_STOP; chIQInit(&bdup->iqueue, bdup->ib, BULK_USB_BUFFERS_SIZE, inotify, bdup); chOQInit(&bdup->oqueue, bdup->ob, BULK_USB_BUFFERS_SIZE, onotify, bdup); }
/** * @brief Initializes a generic full duplex driver object. * @details The HW dependent part of the initialization has to be performed * outside, usually in the hardware initialization code. * * @param[out] sdp pointer to a @p SerialDriver structure * @param[in] inotify pointer to a callback function that is invoked when * some data is read from the Queue. The value can be * @p NULL. * @param[in] onotify pointer to a callback function that is invoked when * some data is written in the Queue. The value can be * @p NULL. * * @init */ void sdObjectInit(SerialDriver *sdp, qnotify_t inotify, qnotify_t onotify) { sdp->vmt = &vmt; chEvtInit(&sdp->event); sdp->state = SD_STOP; chIQInit(&sdp->iqueue, sdp->ib, SERIAL_BUFFERS_SIZE, inotify, sdp); chOQInit(&sdp->oqueue, sdp->ob, SERIAL_BUFFERS_SIZE, onotify, sdp); }
/** * @brief Initializes a generic full duplex driver object. * @details The HW dependent part of the initialization has to be performed * outside, usually in the hardware initialization code. * * @param[out] sdup pointer to a @p SerialUSBDriver structure * * @init */ void sduObjectInit(SerialUSBDriver *sdup) { sdup->vmt = &vmt; chEvtInit(&sdup->event); sdup->flags = CHN_NO_ERROR; sdup->state = SDU_STOP; chIQInit(&sdup->iqueue, sdup->ib, SERIAL_USB_BUFFERS_SIZE, inotify, sdup); chOQInit(&sdup->oqueue, sdup->ob, SERIAL_USB_BUFFERS_SIZE, onotify, sdup); }
Thread *debugPutInit(char *outq, size_t outqSize) /* allocate output queue of outqSize bytes and start background thread return background thread */ { chOQInit(&debugOutQ, (uint8_t *)outq, outqSize, NULL, NULL); return debugReader = chThdCreateStatic(debugReaderArea, sizeof(debugReaderArea), LOWPRIO, debugReaderMain, NULL); }
static void queues2_setup(void) { chOQInit(&oq, wa[0], TEST_QUEUES_SIZE, notify); }
/*------------------------------------------------------------------------* * chibios_rt::OutQueue * *------------------------------------------------------------------------*/ OutQueue::OutQueue(uint8_t *bp, size_t size, qnotify_t onfy, void *link) { chOQInit(&oq, bp, size, onfy, link); }