Ejemplo n.º 1
0
void
odp_uds_printdata_Buffer(UBaseType_t msgType, void *data,
			 printChar_cbf printchar)
{
    extern QueueHandle_t inputQueue;

    ODPBuffer **doublePtr;
    ODPBuffer *myUDSBuffer;
    doublePtr = data;
    myUDSBuffer = *doublePtr;
    int i;
    for (i = 0; i < myUDSBuffer->len; i++) {
	printser_uint8ToHex(myUDSBuffer->data[i]);
	if ((i % 8) == 0 && i > 0 && i < myUDSBuffer->len - 1) {
	    printLF();
	}
    }
    if (!((i % 8) == 0 && i > 0 && i < myUDSBuffer->len - 1)) {
	printLF();
    }

    printEOT();
    /* clear the buffer */
    myUDSBuffer->len = 0;
    /* release the input queue */
    if (pdPASS != sendMsg(MSG_SERIAL_RELEASE, inputQueue, NULL)) {
	DEBUGPRINT("FATAL ERROR: input queue is full!\n", "a");
    }

}
Ejemplo n.º 2
0
void odp_canraw_printParam(UBaseType_t msgType, void *data,
			   printChar_cbf printchar)
{
    param_data *args = data;
    extern bus_paramPrint actBus_paramPrint;
    if (args->args[ARG_CMD] == PARAM_INFO
	&& args->args[ARG_VALUE_1] == VALUE_PARAM_INFO_VERSION) {
	printser_string("0 - Raw CAN");
	printLF();
	printEOT();
    } else {
	createCommandResultMsg(FBID_PROTOCOL_GENERIC,
			       FBID_PROTOCOL_GENERIC, 0,
			       ERR_CODE_OS_UNKNOWN_COMMAND_TEXT);
    }
}
Ejemplo n.º 3
0
/*-----------------------------------------------------------*/
void bus_param_can_generic_Print(UBaseType_t msgType, void *data,
				 printChar_cbf printchar)
{
    param_data *args = data;
    uint8_t FiltCntr;
    DEBUGPRINT("can Parameter receiced %ld-%ld\n", args->args[ARG_RECV],
	       args->args[ARG_CMD]);
    if (args->args[ARG_CMD] == PARAM_INFO) {
	CAN_GetCanConfig(canConfig);
	switch (args->args[ARG_VALUE_1]) {
	case VALUE_PARAM_INFO_VERSION:
	    printser_string("CAN Bus");
	    printLF();
	    printEOT();
	    break;
	case VALUE_PARAM_INFO_BUS_MODE:
	    switch (canConfig->mode) {
	    case VALUE_BUS_MODE_SILENT:
		printser_string("0 - CAN Transceiver in 'Silent Mode'");
		printLF();
		break;
	    case VALUE_BUS_MODE_LOOP_BACK:
		printser_string("1 - CAN Transceiver in 'Loop Back Mode'");
		printLF();
		break;
	    case VALUE_BUS_MODE_LOOP_BACK_WITH_SILENT:
		printser_string
		    ("2 - CAN Transceiver in 'Loop Back combined with Silent Mode'");
		printLF();
		break;
	    case VALUE_BUS_MODE_NORMAL:
		printser_string("3 - CAN Transceiver in 'Normal Mode'");
		printLF();
		break;
	    }

	    switch (canConfig->state) {
	    case STATE_REQUEST_CAN_ERROR_ACTIVE:
		printser_string("0 - Bus Active");
		printLF();
		break;
	    case STATE_REQUEST_CAN_ERROR_WARNING:
		printser_string("1 - Bus Active, a few errors");
		printLF();
		break;
	    case STATE_REQUEST_CAN_ERROR_PASSIVE:
		printser_string("2 - Bus Passive, many errors");
		printLF();
		break;
	    case STATE_REQUEST_CAN_BUS_OFF:
		printser_string("3 - Bus Off, too many errors");
		printLF();
		break;
	    case STATE_REQUEST_CAN_STOPPED:
		printser_string("4 - Bus offline");
		printLF();
		break;
	    case STATE_REQUEST_CAN_SLEEPING:
		printser_string("5 - Bus sleeping");
		printLF();
		break;
	    case STATE_REQUEST_CAN_UNKNOWN:
		printser_string("6 - no feedback from device");
		printLF();
		break;
	    }
	    printEOT();
	    break;
	case VALUE_PARAM_INFO_BUS_CONFIG:
	    switch (canConfig->busConfig) {
	    case VALUE_BUS_CONFIG_11bit_125kbit:
		printser_string("1 = ISO 15765-4, CAN 11bit ID/125kBaud");
		printLF();
		printEOT();
		break;
	    case VALUE_BUS_CONFIG_11bit_250kbit:
		printser_string("2 = ISO 15765-4, CAN 11bit ID/250kBaud");
		printLF();
		printEOT();
		break;
	    case VALUE_BUS_CONFIG_11bit_500kbit:
		printser_string("3 = ISO 15765-4, CAN 11bit ID/500kBaud");
		printLF();
		printEOT();
		break;
	    case VALUE_BUS_CONFIG_11bit_1000kbit:
		printser_string("4 - ISO 15765-4, CAN 11bit ID/1000kBaud");
		printLF();
		printEOT();
		break;
	    case VALUE_BUS_CONFIG_29bit_125kbit:
		printser_string("5 - ISO 15765-4, CAN 29bit ID/125kBaud");
		printLF();
		printEOT();
		break;
	    case VALUE_BUS_CONFIG_29bit_250kbit:
		printser_string("6 - ISO 15765-4, CAN 29bit ID/250kBaud");
		printLF();
		printEOT();
		break;
	    case VALUE_BUS_CONFIG_29bit_500kbit:
		printser_string("7 - ISO 15765-4, CAN 29bit ID/500kBaud");
		printLF();
		printEOT();
		break;
	    case VALUE_BUS_CONFIG_29bit_1000kbit:
		printser_string("8 - ISO 15765-4, CAN 29bit ID/1000kBaud");
		printLF();
		printEOT();
		break;
	    }
	    break;
	case VALUE_PARAM_INFO_BUS_ERROR:
	    if (VALUE_PARAM_INFO_BUS_ERROR_READ == args->args[ARG_VALUE_2]) {
		printser_int(bus_rx_count_can(), 10);
		printser_string(" ");
		printser_int(bus_rx_error_can(), 10);
		printser_string(" ");
		printser_int(bus_rec_can(), 10);
		printser_string(" ");
		printser_int(bus_tx_count_can(), 10);
		printser_string(" ");
		printser_int(bus_tx_error_can(), 10);
		printser_string(" ");
		printser_int(bus_rec_can(), 10);
		printser_string(" ");
		printser_int(bus_tec_can(), 10);
		printser_string(" ");
		printser_int(bus_busoff_error_can(), 10);
		printser_string(" ");
		printser_int(bus_warning_error_can(), 10);
		printser_string(" ");
		printser_int(bus_passive_error_can(), 10);
	    } else if (VALUE_PARAM_INFO_BUS_ERROR_DEL ==
		       args->args[ARG_VALUE_2]) {
		/* delete counters if parameter is requested with option "1" */
		bus_clear_rx_error_can();
		bus_clear_tx_error_can();
		bus_clear_rx_count_can();
		bus_clear_tx_count_can();
	    } else
		printser_string("Missing parameter!");

	    printLF();
	    printEOT();
	    break;

	case VALUE_PARAM_INFO_Can11FilterID:
	    for (FiltCntr = 0; FiltCntr < MAXCANFILTER; FiltCntr++) {
		printser_string("0x");
		printser_int(CAN_GetFilterReg16(FiltCntr, 1, 0), 16);
		printser_string(" 0x");
		printser_int(CAN_GetFilterReg16(FiltCntr, 1, 1), 16);
		printser_string(" 0x");
		printser_int(CAN_GetFilterReg16(FiltCntr, 2, 0), 16);
		printser_string(" 0x");
		printser_int(CAN_GetFilterReg16(FiltCntr, 2, 1), 16);
		printLF();
	    }
	    printLF();
	    printEOT();
	    break;

	case VALUE_PARAM_INFO_Can29FilterID:
	    for (FiltCntr = 0; FiltCntr < MAXCANFILTER; FiltCntr++) {
		printser_string("0x");
		printser_int(CAN_GetFilterReg32(FiltCntr, 1), 16);
		printser_string(" 0x");
		printser_int(CAN_GetFilterReg32(FiltCntr, 2), 16);
		printLF();
	    }
	    printLF();
	    printEOT();
	    break;

	default:
	    evalResult(FBID_BUS_GENERIC, ERR_CODE_OS_UNKNOWN_COMMAND, 0,
		       ERR_CODE_OS_UNKNOWN_COMMAND_TEXT);

	    break;
	}
    } else {
	evalResult(FBID_BUS_GENERIC, ERR_CODE_OS_UNKNOWN_COMMAND, 0,
		   ERR_CODE_OS_UNKNOWN_COMMAND_TEXT);

    }
}