that project worked. i looked at my project and the main difference was i added FSL_USB_CDC_Device not FSL_USB_Stack. these components should've just been added to KDS to save everyone the headache.
one thing i did change you may want to think about. in usb_cdc_pstn.c, function USB_Class_CDC_PSTN_Set_Ctrl_Line_State
from this:
if(g_dte_status & CARRIER_ACTIVATION_CHECK)
{
g_pstn_callback(controller_ID, USB_APP_CDC_CARRIER_ACTIVATED,NULL);
}
else
{
g_pstn_callback(controller_ID, USB_APP_CDC_CARRIER_DEACTIVATED, NULL);
}
to this:
if(g_dte_status & CARRIER_ACTIVATION_CHECK)
{
if (g_dte_present)
g_pstn_callback(controller_ID, USB_APP_CDC_CARRIER_ACTIVATED,NULL);
else
g_pstn_callback(controller_ID, USB_APP_CDC_CARRIER_DEACTIVATED,NULL);
}
this allows you to use start_app and start_transactions to figure if you are simply plugged into a host and/or port open. otherwise there is no difference in the two (except when physically disconnected). i dont see any consequences with the demo code, have not tried other functions.
this will also require the always present 'start_transactions = TRUE;' in CDC1_Notify_callback to be commented out. and the removal of the static on the variable declaration.
thank you for the help.