Aparecen con ifdefine, si no las has definido antes no se utilizan.
Si miras en el archivo usbdrv.c, en esta función:
void USBCheckBusStatus(void)
{
/**************************************************************************
* Bus Attachment & Detachment Detection
* usb_bus_sense is an i/o pin defined in io_cfg.h
*************************************************************************/
#define USB_BUS_ATTACHED 1
#define USB_BUS_DETACHED 0
if(usb_bus_sense == USB_BUS_ATTACHED) // Is USB bus attached?
{
if(UCONbits.USBEN == 0) // Is the module off?
USBModuleEnable(); // Is off, enable it
}
else
{
if(UCONbits.USBEN == 1) // Is the module on?
USBModuleDisable(); // Is on, disable it
}//end if(usb_bus_sense...)
etcétera
Puedes ver que el usb_sense se utiliza para saber si el puerto se ha conectado.
A ver, te explico, si tu alimentas tu placa con una fuente externa al usb, tienes que saber cuando se conecta el cable. Bueno, pues testeando esa entrada ya lo reconoces.
El esquema sería conectar la entrada con un pulldown a masa y los 5V del usb.
Y el self_power es para decirle al sistema que está alimentado con una fuente externa o no. Este no lo he utilizado nunca por lo que no te puedo explicar más.
Ambas variables se definen en usbcfg.h quitando las barras de comentarios.