diff options
author | Diego Ismirlian <dismirlian@gmail.com> | 2019-09-30 18:33:46 -0300 |
---|---|---|
committer | Diego Ismirlian <dismirlian@gmail.com> | 2019-10-02 16:57:30 -0300 |
commit | 392d6af30057db0b36ae02e5ca940691c382fd23 (patch) | |
tree | e7722d28cf0eb4fb66d72d44d713e1b75fe39175 /os/hal/src/usbh/hal_usbh_aoa.c | |
parent | fa3880546cc5fa933caa4333f1dbc397a93420b6 (diff) | |
download | ChibiOS-Contrib-392d6af30057db0b36ae02e5ca940691c382fd23.tar.gz ChibiOS-Contrib-392d6af30057db0b36ae02e5ca940691c382fd23.tar.bz2 ChibiOS-Contrib-392d6af30057db0b36ae02e5ca940691c382fd23.zip |
USBH: rework debug framework
Diffstat (limited to 'os/hal/src/usbh/hal_usbh_aoa.c')
-rw-r--r-- | os/hal/src/usbh/hal_usbh_aoa.c | 93 |
1 files changed, 33 insertions, 60 deletions
diff --git a/os/hal/src/usbh/hal_usbh_aoa.c b/os/hal/src/usbh/hal_usbh_aoa.c index 0686179..77ac4e7 100644 --- a/os/hal/src/usbh/hal_usbh_aoa.c +++ b/os/hal/src/usbh/hal_usbh_aoa.c @@ -29,39 +29,12 @@ //#pragma GCC optimize("Og") - -#if USBHAOA_DEBUG_ENABLE_TRACE -#define udbgf(f, ...) usbDbgPrintf(f, ##__VA_ARGS__) -#define udbg(f, ...) usbDbgPuts(f, ##__VA_ARGS__) -#else -#define udbgf(f, ...) do {} while(0) -#define udbg(f, ...) do {} while(0) -#endif - -#if USBHAOA_DEBUG_ENABLE_INFO -#define uinfof(f, ...) usbDbgPrintf(f, ##__VA_ARGS__) -#define uinfo(f, ...) usbDbgPuts(f, ##__VA_ARGS__) -#else -#define uinfof(f, ...) do {} while(0) -#define uinfo(f, ...) do {} while(0) -#endif - -#if USBHAOA_DEBUG_ENABLE_WARNINGS -#define uwarnf(f, ...) usbDbgPrintf(f, ##__VA_ARGS__) -#define uwarn(f, ...) usbDbgPuts(f, ##__VA_ARGS__) -#else -#define uwarnf(f, ...) do {} while(0) -#define uwarn(f, ...) do {} while(0) -#endif - -#if USBHAOA_DEBUG_ENABLE_ERRORS -#define uerrf(f, ...) usbDbgPrintf(f, ##__VA_ARGS__) -#define uerr(f, ...) usbDbgPuts(f, ##__VA_ARGS__) -#else -#define uerrf(f, ...) do {} while(0) -#define uerr(f, ...) do {} while(0) -#endif - +#define _USBH_DEBUG_HELPER_CLASS_DRIVER container_of(aoacp, USBHAOADriver, channel) +#define _USBH_DEBUG_HELPER_ENABLE_TRACE USBHAOA_DEBUG_ENABLE_TRACE +#define _USBH_DEBUG_HELPER_ENABLE_INFO USBHAOA_DEBUG_ENABLE_INFO +#define _USBH_DEBUG_HELPER_ENABLE_WARNINGS USBHAOA_DEBUG_ENABLE_WARNINGS +#define _USBH_DEBUG_HELPER_ENABLE_ERRORS USBHAOA_DEBUG_ENABLE_ERRORS +#include "usbh/debug_helpers.h" /*===========================================================================*/ /* Constants */ @@ -162,11 +135,11 @@ static usbh_baseclassdriver_t *_aoa_load(usbh_device_t *dev, const uint8_t *desc }; if (descriptor[1] != USBH_DT_DEVICE) { - uinfo("AOA: Won't try to detect Android device at interface level"); + udevinfo("AOA: Won't try to detect Android device at interface level"); return NULL; } - uinfo("AOA: Unrecognized VID"); + udevinfo("AOA: Unrecognized VID"); #if defined(HAL_USBHAOA_FILTER_CALLBACK) if (!HAL_USBHAOA_FILTER_CALLBACK(dev, descriptor, rem, &config)) { @@ -174,12 +147,12 @@ static usbh_baseclassdriver_t *_aoa_load(usbh_device_t *dev, const uint8_t *desc } #endif - uinfo("AOA: Try if it's an Android device"); + udevinfo("AOA: Try if it's an Android device"); if (_get_protocol(dev, &protocol) != HAL_SUCCESS) { - uinfo("AOA: not an Android device"); + udevinfo("AOA: not an Android device"); return NULL; } - uinfof("AOA: Possible Android device found (protocol=%d)", protocol); + udevinfof("AOA: Possible Android device found (protocol=%d)", protocol); if (config.channel.manufacturer != NULL) { if ((_send_string(dev, USBHAOA_ACCESSORY_STRING_MANUFACTURER, config.channel.manufacturer) != HAL_SUCCESS) @@ -188,22 +161,22 @@ static usbh_baseclassdriver_t *_aoa_load(usbh_device_t *dev, const uint8_t *desc || (_send_string(dev, USBHAOA_ACCESSORY_STRING_VERSION, config.channel.version) != HAL_SUCCESS) || (_send_string(dev, USBHAOA_ACCESSORY_STRING_URI, config.channel.uri) != HAL_SUCCESS) || (_send_string(dev, USBHAOA_ACCESSORY_STRING_SERIAL, config.channel.serial) != HAL_SUCCESS)) { - uerr("AOA: Can't send string; abort start"); + udeverr("AOA: Can't send string; abort start"); return NULL; } } if (protocol > 1) { if (_set_audio_mode(dev, (uint16_t)(config.audio.mode)) != HAL_SUCCESS) { - uerr("AOA: Can't set audio mode; abort channel start"); + udeverr("AOA: Can't set audio mode; abort channel start"); return NULL; } } if (_accessory_start(dev) != HAL_SUCCESS) { - uerr("AOA: Can't start accessory; abort channel start"); + udeverr("AOA: Can't start accessory; abort channel start"); } else { - uinfo("AOA: Accessory started"); + udevinfo("AOA: Accessory started"); } return NULL; @@ -227,18 +200,18 @@ static usbh_baseclassdriver_t *_aoa_load(usbh_device_t *dev, const uint8_t *desc case AOA_GOOGLE_PID_ACCESSORY_AUDIO_ABD: break; default: - uerr("AOA: Unrecognized PID"); + udeverr("AOA: Unrecognized PID"); return NULL; } const usbh_interface_descriptor_t * const ifdesc = (const usbh_interface_descriptor_t *)descriptor; if ((_usbh_match_descriptor(descriptor, rem, USBH_DT_INTERFACE, 0xFF, 0xFF, 0x00) != HAL_SUCCESS) || (ifdesc->bNumEndpoints < 2)) { - uerr("AOA: This IF is not the Accessory IF"); + udeverr("AOA: This IF is not the Accessory IF"); return NULL; } - uinfof("AOA: Found Accessory Interface #%d", ifdesc->bInterfaceNumber); + udevinfof("AOA: Found Accessory Interface #%d", ifdesc->bInterfaceNumber); for (i = 0; i < HAL_USBHAOA_MAX_INSTANCES; i++) { if (USBHAOAD[i].dev == NULL) { @@ -247,7 +220,7 @@ static usbh_baseclassdriver_t *_aoa_load(usbh_device_t *dev, const uint8_t *desc } } - uwarn("AOA: Can't alloc driver"); + udevwarn("AOA: Can't alloc driver"); /* can't alloc */ return NULL; @@ -269,30 +242,30 @@ alloc_ok: for (ep_iter_init(&iep, &iif); iep.valid; ep_iter_next(&iep)) { const usbh_endpoint_descriptor_t *const epdesc = ep_get(&iep); if ((epdesc->bEndpointAddress & 0x80) && (epdesc->bmAttributes == USBH_EPTYPE_BULK)) { - uinfof("AOA: BULK IN endpoint found: bEndpointAddress=%02x", epdesc->bEndpointAddress); + udevinfof("AOA: BULK IN endpoint found: bEndpointAddress=%02x", epdesc->bEndpointAddress); usbhEPObjectInit(&aoap->channel.epin, dev, epdesc); usbhEPSetName(&aoap->channel.epin, "AOA[BIN ]"); } else if (((epdesc->bEndpointAddress & 0x80) == 0) && (epdesc->bmAttributes == USBH_EPTYPE_BULK)) { - uinfof("AOA: BULK OUT endpoint found: bEndpointAddress=%02x", epdesc->bEndpointAddress); + udevinfof("AOA: BULK OUT endpoint found: bEndpointAddress=%02x", epdesc->bEndpointAddress); usbhEPObjectInit(&aoap->channel.epout, dev, epdesc); usbhEPSetName(&aoap->channel.epout, "AOA[BOUT]"); } else { - uinfof("AOA: unsupported endpoint found: bEndpointAddress=%02x, bmAttributes=%02x", + udevinfof("AOA: unsupported endpoint found: bEndpointAddress=%02x, bmAttributes=%02x", epdesc->bEndpointAddress, epdesc->bmAttributes); } } if ((aoap->channel.epin.status != USBH_EPSTATUS_CLOSED) || (aoap->channel.epout.status != USBH_EPSTATUS_CLOSED)) { - uwarn("AOA: Couldn't find endpoints"); + udevwarn("AOA: Couldn't find endpoints"); aoap->state = USBHAOA_STATE_STOP; return NULL; } aoap->state = USBHAOA_STATE_READY; aoap->channel.state = USBHAOA_CHANNEL_STATE_ACTIVE; - uwarn("AOA: Ready"); + udevwarn("AOA: Ready"); return (usbh_baseclassdriver_t *)aoap; } @@ -311,7 +284,7 @@ static void _aoa_unload(usbh_baseclassdriver_t *drv) { /* ------------------------------------ */ static void _submitOutI(USBHAOAChannel *aoacp, uint32_t len) { - udbgf("AOA: Submit OUT %d", len); + uclassdrvdbgf("AOA: Submit OUT %d", len); aoacp->oq_urb.requestedLength = len; usbhURBObjectResetI(&aoacp->oq_urb); usbhURBSubmitI(&aoacp->oq_urb); @@ -327,12 +300,12 @@ static void _out_cb(usbh_urb_t *urb) { chnAddFlagsI(aoacp, CHN_OUTPUT_EMPTY | CHN_TRANSMISSION_END); return; case USBH_URBSTATUS_DISCONNECTED: - uwarn("AOA: URB OUT disconnected"); + uclassdrvwarn("AOA: URB OUT disconnected"); chThdDequeueAllI(&aoacp->oq_waiting, Q_RESET); chnAddFlagsI(aoacp, CHN_OUTPUT_EMPTY); return; default: - uerrf("AOA: URB OUT status unexpected = %d", urb->status); + uclassdrverrf("AOA: URB OUT status unexpected = %d", urb->status); break; } usbhURBObjectResetI(&aoacp->oq_urb); @@ -406,7 +379,7 @@ static msg_t _put(USBHAOAChannel *aoacp, uint8_t b) { } static void _submitInI(USBHAOAChannel *aoacp) { - udbg("AOA: Submit IN"); + uclassdrvdbg("AOA: Submit IN"); usbhURBObjectResetI(&aoacp->iq_urb); usbhURBSubmitI(&aoacp->iq_urb); } @@ -416,9 +389,9 @@ static void _in_cb(usbh_urb_t *urb) { switch (urb->status) { case USBH_URBSTATUS_OK: if (urb->actualLength == 0) { - udbgf("AOA: URB IN no data"); + uurbdbgf("AOA: URB IN no data"); } else { - udbgf("AOA: URB IN data len=%d", urb->actualLength); + uurbdbgf("AOA: URB IN data len=%d", urb->actualLength); aoacp->iq_ptr = aoacp->iq_buff; aoacp->iq_counter = urb->actualLength; chThdDequeueNextI(&aoacp->iq_waiting, Q_OK); @@ -426,14 +399,14 @@ static void _in_cb(usbh_urb_t *urb) { } break; case USBH_URBSTATUS_DISCONNECTED: - uwarn("AOA: URB IN disconnected"); + uurbwarn("AOA: URB IN disconnected"); chThdDequeueAllI(&aoacp->iq_waiting, Q_RESET); chnAddFlagsI(aoacp, CHN_DISCONNECTED); aoacp->state = USBHAOA_CHANNEL_STATE_ACTIVE; container_of(aoacp, USBHAOADriver, channel)->state = USBHAOA_STATE_ACTIVE; break; default: - uerrf("AOA: URB IN status unexpected = %d", urb->status); + uurberrf("AOA: URB IN status unexpected = %d", urb->status); _submitInI(aoacp); break; } @@ -532,7 +505,7 @@ static const struct AOADriverVMT async_channel_vmt = { static void _stop_channelS(USBHAOAChannel *aoacp) { if (aoacp->state != USBHAOA_CHANNEL_STATE_READY) return; - uwarn("AOA: Stop channel"); + uclassdrvwarn("AOA: Stop channel"); chVTResetI(&aoacp->vt); usbhEPCloseS(&aoacp->epin); usbhEPCloseS(&aoacp->epout); |