diff options
Diffstat (limited to 'service/peripheral/communication/server/include')
15 files changed, 753 insertions, 0 deletions
diff --git a/service/peripheral/communication/server/include/CAN/CommWatch/CAN_CommWatch.h b/service/peripheral/communication/server/include/CAN/CommWatch/CAN_CommWatch.h new file mode 100755 index 0000000..16aa54f --- /dev/null +++ b/service/peripheral/communication/server/include/CAN/CommWatch/CAN_CommWatch.h @@ -0,0 +1,42 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef COMMUNICATION_SERVER_INCLUDE_CAN_COMMWATCH_CAN_COMMWATCH_H_ +#define COMMUNICATION_SERVER_INCLUDE_CAN_COMMWATCH_CAN_COMMWATCH_H_ +#include <native_service/frameworkunified_types.h> +#include <peripheral_service/Canif_API.h> +#include <vector> +#include <map> +#include <string> +#include "CommWatchCommon.h" + +typedef struct { + char notify_name[MAX_NAME_SIZE_APP]; + uint32_t data_id; + uint8_t comm_watch_flag; + uint16_t set_time; + uint16_t timer_cnt; +} CAN_COMM_WATCH_VAL; + +typedef std::multimap<CANID, CAN_COMM_WATCH_VAL> CAN_CommWatchTable; +typedef std::pair<const CANID, CAN_COMM_WATCH_VAL> CAN_CommWatchTablePair; +typedef CAN_CommWatchTable::iterator CAN_CommWatchTableIt; + +void CANCommWatchInit(void); +EFrameworkunifiedStatus CANCommWatch(HANDLE h_app); +EFrameworkunifiedStatus CANCommWatchTimeout(HANDLE h_app); +void CANCommWatchClear(HANDLE h_app, CANID id); +#endif // COMMUNICATION_SERVER_INCLUDE_CAN_COMMWATCH_CAN_COMMWATCH_H_ diff --git a/service/peripheral/communication/server/include/CAN/CommWatch/CommWatchCommon.h b/service/peripheral/communication/server/include/CAN/CommWatch/CommWatchCommon.h new file mode 100755 index 0000000..7306214 --- /dev/null +++ b/service/peripheral/communication/server/include/CAN/CommWatch/CommWatchCommon.h @@ -0,0 +1,22 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef COMMUNICATION_SERVER_INCLUDE_CAN_COMMWATCH_COMMWATCH_COMMON_H_ +#define COMMUNICATION_SERVER_INCLUDE_CAN_COMMWATCH_COMMWATCH_COMMON_H_ +#define CAN_COMM_OFF 0x00 +#define CAN_COMM_NORMAL 0x01 +#define CAN_COMM_STOP 0x02 +#endif diff --git a/service/peripheral/communication/server/include/CAN/Command/CAN_Command.h b/service/peripheral/communication/server/include/CAN/Command/CAN_Command.h new file mode 100755 index 0000000..43abcdc --- /dev/null +++ b/service/peripheral/communication/server/include/CAN/Command/CAN_Command.h @@ -0,0 +1,21 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef COMMUNICATION_SERVER_INCLUDE_CAN_COMMAND_CAN_COMMAND_H_ +#define COMMUNICATION_SERVER_INCLUDE_CAN_COMMAND_CAN_COMMAND_H_ +EFrameworkunifiedStatus CANCommandTransmission(HANDLE h_app); +RET_CAN CANCommandTxRslt(HANDLE h_app, CAN_MSG_DATA*); +#endif // COMMUNICATION_SERVER_INCLUDE_CAN_COMMAND_CAN_COMMAND_H_ diff --git a/service/peripheral/communication/server/include/CAN/Delivery/CAN_Delivery.h b/service/peripheral/communication/server/include/CAN/Delivery/CAN_Delivery.h new file mode 100755 index 0000000..01f2e2f --- /dev/null +++ b/service/peripheral/communication/server/include/CAN/Delivery/CAN_Delivery.h @@ -0,0 +1,40 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef COMMUNICATION_SERVER_INCLUDE_CAN_DELIVERY_CAN_DELIVERY_H_ +#define COMMUNICATION_SERVER_INCLUDE_CAN_DELIVERY_CAN_DELIVERY_H_ +#include <native_service/frameworkunified_types.h> +#include "CAN_Thread.h" +#include <vector> +#include <map> +#include <string> +#include <can_hal.h> + +typedef std::multimap<CANID, std::string> CAN_DeliveryEntryList; +typedef CAN_DeliveryEntryList::iterator CAN_DeliveryEntryListIt; +typedef std::pair<const CANID, std::string> CAN_DeliveryEntryListPair; + +void CANDeliveryInit(void); +bool CANDeliveryInsert(CANID canid, std::string s); +EFrameworkunifiedStatus CANDeliveryRcvProcess(HANDLE h_app, CanMessage *msg); +EFrameworkunifiedStatus CANDeliveryEntry(HANDLE h_app); +EFrameworkunifiedStatus CANClearEntry(HANDLE h_app); +EFrameworkunifiedStatus CANDeliverySndMsg(HANDLE h_app, CANID ul_canid, uint8_t n_ta, + uint8_t uc_dlc, const uint8_t *puc_data, + PS_CommunicationProtocol cid, enum CanIfEchoBackFlags flag = CANIF_PURERECV); +EFrameworkunifiedStatus CANCommandDeliveryRcvProcess(HANDLE h_app, + CanMessage *msg, uint8_t cmd); +#endif // COMMUNICATION_SERVER_INCLUDE_CAN_DELIVERY_CAN_DELIVERY_H_ diff --git a/service/peripheral/communication/server/include/CAN/Delivery/CAN_DeliveryData.h b/service/peripheral/communication/server/include/CAN/Delivery/CAN_DeliveryData.h new file mode 100755 index 0000000..ae0302c --- /dev/null +++ b/service/peripheral/communication/server/include/CAN/Delivery/CAN_DeliveryData.h @@ -0,0 +1,137 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef COMMUNICATION_SERVER_INCLUDE_CAN_DELIVERY_CAN_DELIVERYDATA_H_ +#define COMMUNICATION_SERVER_INCLUDE_CAN_DELIVERY_CAN_DELIVERYDATA_H_ +/****************************************************************************** + * FILE :CAN_DeliveryData.h + * SYSTEM :_CWORD107_ + * SUBSYSTEM : +-----------------------------------------------------------------------------*/ +#include <native_service/frameworkunified_types.h> +#include <peripheral_service/Canif_API.h> + +/************************************************************************ +* Macro definitions * +************************************************************************/ +/* Data size relationship */ +#define CAN_DELIVERY_LIST_NUM 400 /* Maximum number of delivery destination management tables */ +#define CAN_DELIVERY_CANID_LIST_NUM 150 /* Delivery CAN ID control table max. */ + +#define CAN_EXRCV_DATA_NUM 22 /* CAN Extended Reception Notification CAN Maximum Number of Data */ +#define CAN_EXRCV_DATA_SIZE 11 /* CAN Extended Reception Notification CAN Data Size */ +#define CAN_EXRCV_CANNUM_SIZE 1 /* CAN Extended Reception Notification CAN Data Number Size */ +#define CAN_EXRCV_DLC_MIN 1 /* CAN Extended Reception Notification DLC Minimum Value */ +#define CAN_EXRCV_DLC_MAX 8 /* CAN Extended Reception Notification DLC Maximum Value */ + +/* Flag relationship */ +#define CAN_DELIVERY_OFF 0 /* Stopping data delivery */ +#define CAN_DELIVERY_ON 1 /* Data delivery in progress */ + +/* CANDataControl code relationship used in the delivery relationship */ +#define CAN_DELIVERYLIST_STOP_CODE 0xFFFF /* Shipping Destination Management Table Stop Code */ + +#define CAN_CANIDLIST_EMPTY 0xFFFF /* Availability of CAN ID control table */ +/************************************************************************ +* Struct definitions +************************************************************************/ +/*************************************************** +* TAG : CAN_DELIVERY_DAT +* ABSTRACT : Destination management table structure (1 item) +* (CAN internal data management table) +****************************************************/ +typedef struct { /* Type definition of delivery destination management data (1 item) */ + CANID ul_canid; /* CAN ID */ + char notify_name[MAX_NAME_SIZE_APP]; /* Destination thread name */ + // uint32_t notifyId; /* Addresses for delivery ID */ + uint8_t uc_delivery_on; /* Delivery operation */ + uint8_t reserve1; /* Reserved */ + uint16_t us_link_id; /* Link ID */ + uint8_t reserve2[2]; /* Reserved */ +} CAN_DELIVERY_DAT; + +/*************************************************** +* TAG : CAN_DELIVERY_LIST_DAT +* ABSTRACT : Destination management table structure (all) +* (CAN internal data management table) +****************************************************/ +typedef struct { /* Type definition of the shipping management table */ + uint16_t us_entry_num; /* Registered number */ + uint8_t reserve[2]; /* Reserved */ + CAN_DELIVERY_DAT st_list[CAN_DELIVERY_LIST_NUM]; /* Delivery destination management data */ +} CAN_DELIVERY_LIST_DAT; + +/*************************************************** +* TAG : CAN_DELIVERY_SPACE_DAT +* ABSTRACT : Free space management structure in the destination management table (all) +* (CAN internal data management table free space management table) +****************************************************/ +typedef struct { /* Type definitions for free space management tables */ + uint16_t space_num; /* Number of free spaces */ + uint16_t index_list[CAN_DELIVERY_LIST_NUM]; /* Free space index list */ +} CAN_DELIVERY_SPACE_DAT; + +/*************************************************** +* TAG : CAN_CANID_DAT +* ABSTRACT : Transport CAN ID control table structures (1 item) +* (CAN internal data management table) +****************************************************/ +typedef struct { /* Defining the type of delivery destination CAN ID (1 item) */ + CANID ul_canid; /* CAN ID */ + uint16_t us_start_id; /* Start ID */ + uint16_t us_end_id; /* End ID */ + uint16_t us_data_num; /* Number of data items */ + uint8_t reserve[2]; /* Reserved */ +} CAN_CANID_DAT; + +/*************************************************** +* TAG : CAN_CANID_LIST_DAT +* ABSTRACT : Delivery CAN ID control table structures (all) +* (CAN internal data management table) +****************************************************/ +typedef struct { /* Type definitions for the target CAN ID administration table */ + uint16_t us_entry_num; /* Registered number */ + uint8_t reserve[2]; /* Reserved */ + CAN_CANID_DAT st_list[CAN_DELIVERY_CANID_LIST_NUM]; /* Shipping CAN ID */ +} CAN_CANID_LIST_DAT; + +/*************************************************** +* TAG : CAN_DELIVERY_SND_DAT +* ABSTRACT : Destination thread name for sending a message of delivery data +* (CAN-internal Work) +****************************************************/ +/* Type definition of the target thread name list data to which the message is sent */ +typedef struct { + int32_t i_num; /* Number of messages sent */ + char notify_name[CAN_DELIVERY_LIST_NUM][MAX_NAME_SIZE_APP]; /* Destination thread name */ +} CAN_DELIVERY_SND_DAT; + +typedef struct { + CAN_DELIVERY_LIST_DAT* p_dlvry_list; + CAN_DELIVERY_SPACE_DAT* p_dlvry_space; + CAN_CANID_LIST_DAT* p_canid_list; + CAN_DELIVERY_SND_DAT* p_dlvry_snd; +} CAN_STRUCT_PTR; + +/************************************************************************ +* Function prototype * +************************************************************************/ +void CANDeliveryDataInit(void); /* CANDataDelivery Management Data Initialization Process */ +EFrameworkunifiedStatus CANDeliveryEntry(HANDLE h_app); /* CANDataDelivery registration process */ +void CANDeliveryBufferOut(FILE* fp_log); /* CAN shipping table log output processing */ +EFrameworkunifiedStatus CANClearEntry(HANDLE h_app); + +#endif // COMMUNICATION_SERVER_INCLUDE_CAN_DELIVERY_CAN_DELIVERYDATA_H_ diff --git a/service/peripheral/communication/server/include/CAN/TxMsg/CAN_TxMsg.h b/service/peripheral/communication/server/include/CAN/TxMsg/CAN_TxMsg.h new file mode 100755 index 0000000..dc4f6e8 --- /dev/null +++ b/service/peripheral/communication/server/include/CAN/TxMsg/CAN_TxMsg.h @@ -0,0 +1,54 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef COMMUNICATION_SERVER_INCLUDE_CAN_TXMSG_CAN_TXMSG_H_ +#define COMMUNICATION_SERVER_INCLUDE_CAN_TXMSG_CAN_TXMSG_H_ +#include <vector> +#include <map> +#include <string> +#include <can_hal.h> +#include "CAN_Thread.h" +#include "API_Local_Common.h" +#include "Canif_API_Local.h" + + +#define CAN_OPC_PAC_RX 0x00 +#define CAN_OPC_COMMAND_STARTUP_FIN_REQ_TX 0x00 // CAN start completion notification request transmission +#define CAN_OPC_COMMAND_MRST_INFO_REQ_TX 0x01 // CAN master reset information notification request transmission +#define CAN_OPC_COMMAND_VERSION_REQ_TX 0x02 // CAN Version Request Send +#define CAN_OPC_COMMAND_CONNECTION_NODE_REQ_TX 0x03 // CAN connection node notification request transmission +#define CAN_OPC_COMMAND_BUS_STATUS_REQ_TX 0x04 // CAN bus status notification request transmission +#define CAN_OPC_COMMAND_FUELCALC_REQ_TX 0x05 // CAN section flame reset response transmission +#define CAN_OPC_COMMAND_STARTUP_FIN_RESP_RX 0x06 // CAN startup completion notice received +#define CAN_OPC_COMMAND_MRST_INFO_RESP_RX 0x07 // CAN Master Reset Information Notification Reception +#define CAN_OPC_COMMAND_VERSION_RESP_RX 0x08 // CAN Version Response Reception +#define CAN_OPC_COMMAND_CONNECTION_NODE_RESP_RX 0x09 // Receive CAN Connection Node Notification Response +#define CAN_OPC_COMMAND_BUS_STATUS_RESP_RX 0x10 // CAN Bus Status Notification Response Reception +#define CAN_OPC_COMMAND_FUELCALC_RST_REQ_RX 0x11 // RECEIVE REQUEST FREE OF CAN SECTION + +typedef struct { + uint8_t rid; + char notify_name[CANIF_NOTIFY_NAME_MAX_SIZE + 1]; +} CAN_SEND_STATUS_DAT; + +void CANTxMsgInit(void); +EFrameworkunifiedStatus CANTxMsg(HANDLE h_app); +EFrameworkunifiedStatus CANTxMsgBit(HANDLE h_app); +void CANCommandSetFuelCalcRstReq(void); +EFrameworkunifiedStatus CANTxMsgCommand(HANDLE h_app); +EFrameworkunifiedStatus CANSndStsProcess(HANDLE h_app, CanSendResult *rcv_msg, + PS_CommunicationProtocol cid); +#endif // COMMUNICATION_SERVER_INCLUDE_CAN_TXMSG_CAN_TXMSG_H_ diff --git a/service/peripheral/communication/server/include/com_error_type.h b/service/peripheral/communication/server/include/com_error_type.h new file mode 100755 index 0000000..4d15f82 --- /dev/null +++ b/service/peripheral/communication/server/include/com_error_type.h @@ -0,0 +1,21 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef COMMUNICATION_SERVER_INCLUDE_COM_ERROR_TYPE_H_ +#define COMMUNICATION_SERVER_INCLUDE_COM_ERROR_TYPE_H_ +const int32_t RET_NORMAL = 0; +const int32_t RET_ERROR = -1; +#endif // COMMUNICATION_SERVER_INCLUDE_COM_ERROR_TYPE_H_ diff --git a/service/peripheral/communication/server/include/main/communication_cid.h b/service/peripheral/communication/server/include/main/communication_cid.h new file mode 100755 index 0000000..d817624 --- /dev/null +++ b/service/peripheral/communication/server/include/main/communication_cid.h @@ -0,0 +1,33 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This file has been generated automatically. + * User hand written code entry is not allowed. Do not modify the file content. + * + */ +#ifndef COMMUNICATION_SERVER_INCLUDE_MAIN_COMMUNICATION_CID_H_ +#define COMMUNICATION_SERVER_INCLUDE_MAIN_COMMUNICATION_CID_H_ + +#define LAN_SERVICE_MAIN "Communication" + +typedef enum PSCommunicationServiceProtocol { + CID_COMMSYS_MSG_BASE = PROTOCOL_FRAMEWORKUNIFIED_BASE_CMD, // Base command id. + CID_COMMSYS_CAN_READY, // CAN_COM_PROT->Communication + CID_COMMSYS_TIMEOUT, // Communication->CAN +} PS_CommunicationServiceProtocol; + +#endif // COMMUNICATION_SERVER_INCLUDE_MAIN_COMMUNICATION_CID_H_ diff --git a/service/peripheral/communication/server/include/main/communication_communicationlog.h b/service/peripheral/communication/server/include/main/communication_communicationlog.h new file mode 100755 index 0000000..37016ad --- /dev/null +++ b/service/peripheral/communication/server/include/main/communication_communicationlog.h @@ -0,0 +1,94 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/////////////////////////////////////////////////////////////////////////////// +/// \ingroup +/// \brief +/// +/// +/// +/// +/// +/////////////////////////////////////////////////////////////////////////////// + +/* + * This file has been generated automatically. + * User hand written code entry is not allowed. Do not modify the file content. + * + */ +#ifndef COMMUNICATION_SERVER_INCLUDE_MAIN_COMMUNICATION_COMMUNICATIONLOG_H_ +#define COMMUNICATION_SERVER_INCLUDE_MAIN_COMMUNICATION_COMMUNICATIONLOG_H_ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +// Include Files +//////////////////////////////////////////////////////////////////////////////////////////////////// +#include <native_service/ns_logger_if.h> + +#define ZONE_INIT ZONEMASK(10) +#define ZONE_FUNC ZONEMASK(11) +#define ZONE_MEM ZONEMASK(12) +#define ZONE_APP ZONEMASK(13) +#define ZONE__CWORD83__DEBUG ZONEMASK(14) +#define ZONE_CAN_DEBUG ZONEMASK(15) +#define ZONE_16 ZONEMASK(16) +#define ZONE_COMMSYS ZONEMASK(17) +#define ZONE_ICR ZONEMASK(18) +#define ZONE_ICR_TABLE ZONEMASK(19) +#define ZONE_TRANSLOG ZONEMASK(20) +#define ZONE_LOOPBACK ZONEMASK(22) +#define ZONE_ENTRY ZONEMASK(23) +#define ZONE_24 ZONEMASK(24) +#define ZONE_25 ZONEMASK(25) +#define ZONE_26 ZONEMASK(26) +#define ZONE_27 ZONEMASK(27) +#define ZONE_DEBUG ZONEMASK(28) +#define ZONE_INFO ZONEMASK(29) +#define ZONE_WARN ZONEMASK(30) +#define ZONE_ERR ZONEMASK(31) +#define ZONE_COMM_SYS_STS ZONEMASK(107) + +#define ZONE_TEXT_10 "Init" +#define ZONE_TEXT_11 "Function" +#define ZONE_TEXT_12 "Memory" +#define ZONE_TEXT_13 "StateMachine Example" +#define ZONE_TEXT_14 "_CWORD83_" +#define ZONE_TEXT_15 "CAN" +#define ZONE_TEXT_16 "" +#define ZONE_TEXT_17 "COMSYS" +#define ZONE_TEXT_18 "ICR" +#define ZONE_TEXT_19 "ICR_TABLE" +#define ZONE_TEXT_20 "TRANSLOG" +#define ZONE_TEXT_21 "" +#define ZONE_TEXT_22 "" +#define ZONE_TEXT_23 "" +#define ZONE_TEXT_24 "" +#define ZONE_TEXT_25 "" +#define ZONE_TEXT_26 "" +#define ZONE_TEXT_27 "" +#define ZONE_TEXT_28 "Debug" +#define ZONE_TEXT_29 "Info" +#define ZONE_TEXT_30 "Warning" +#define ZONE_TEXT_31 "Error" + +#ifndef FRAMEWORKUNIFIEDLOGOPTIONS +#define FRAMEWORKUNIFIEDLOGOPTIONS (LPRINT) // LPRINT , LMSGQ, LSLOGGER +#endif + +#ifndef FRAMEWORKUNIFIEDLOGAPPZONES +#define FRAMEWORKUNIFIEDLOGAPPZONES ZONE_APP, ZONE_ERR, ZONE_WARN, ZONE_INFO, ZONE_COMM_SYS, ZONE_CAN_FILTER, ZONE_COMM_SYS_STS +#endif + +#endif // COMMUNICATION_SERVER_INCLUDE_MAIN_COMMUNICATION_COMMUNICATIONLOG_H_ diff --git a/service/peripheral/communication/server/include/main/communication_version.h b/service/peripheral/communication/server/include/main/communication_version.h new file mode 100755 index 0000000..7cd2c3b --- /dev/null +++ b/service/peripheral/communication/server/include/main/communication_version.h @@ -0,0 +1,45 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +////////////////////////////////////////////////////////////////////////////////////////////////// +/// \file version.h +/// \ingroup +/// \version 0.1.0 +/// \brief +/// +/// \todo +////////////////////////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////////////////////////// +// File name : version.h +// Module : Communication +// Description : TODO INSERT +// Scope : < example:Legacy Architecture> +// Platform : _CWORD3_002 Platform +// +// Customer : +// System : +// Reference : +////////////////////////////////////////////////////////////////////////////////////////////////// + +#ifndef COMMUNICATION_SERVER_INCLUDE_MAIN_COMMUNICATION_VERSION_H_ +#define COMMUNICATION_SERVER_INCLUDE_MAIN_COMMUNICATION_VERSION_H_ + +#define MAJORNO 0x01 +#define MINORNO 0x00 +#define REVISION 0x00 + +#endif // COMMUNICATION_SERVER_INCLUDE_MAIN_COMMUNICATION_VERSION_H_ diff --git a/service/peripheral/communication/server/include/peripheral_service/communication.h b/service/peripheral/communication/server/include/peripheral_service/communication.h new file mode 100755 index 0000000..94f5544 --- /dev/null +++ b/service/peripheral/communication/server/include/peripheral_service/communication.h @@ -0,0 +1,29 @@ +// +// @copyright Copyright (c) 2017-2020 TOYOTA MOTOR CORPORATION. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +/** + * @file communication.h + * @~english + * @brief communication unit header + */ + +#ifndef PERIPHERALSERVICE_COMMUNICATION_H_ // NOLINT(build/header_guard) +#define PERIPHERALSERVICE_COMMUNICATION_H_ // NOLINT(build/header_guard) + +#include <peripheral_service/communication_notifications.h> +#include <peripheral_service/communication_can.h> + +#endif // PERIPHERALSERVICE_COMMUNICATION_H_ diff --git a/service/peripheral/communication/server/include/peripheral_service/communication_notifications.h b/service/peripheral/communication/server/include/peripheral_service/communication_notifications.h new file mode 100755 index 0000000..9c207f3 --- /dev/null +++ b/service/peripheral/communication/server/include/peripheral_service/communication_notifications.h @@ -0,0 +1,28 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * @file communication_notifications.h + * @~english + * @brief Defination of communication notification + */ + +#ifndef COMMUNICATION_SERVER_INCLUDE_PERIPHERAL_SERVICE_COMMUNICATION_NOTIFICATIONS_H_ +#define COMMUNICATION_SERVER_INCLUDE_PERIPHERAL_SERVICE_COMMUNICATION_NOTIFICATIONS_H_ + +/*! @~english Defination of communication notification */ +#define NTFY_Communication_Availability "Communication/Availability" + +#endif // COMMUNICATION_SERVER_INCLUDE_PERIPHERAL_SERVICE_COMMUNICATION_NOTIFICATIONS_H_ diff --git a/service/peripheral/communication/server/include/peripheral_service/ps_services.h b/service/peripheral/communication/server/include/peripheral_service/ps_services.h new file mode 100755 index 0000000..fd556d6 --- /dev/null +++ b/service/peripheral/communication/server/include/peripheral_service/ps_services.h @@ -0,0 +1,94 @@ +/* + * @copyright Copyright (c) 2017-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/*!------------------------------------------------------------------------------------------------ + * @file ps_services.h + * @~english + * @brief Defines the names of the available peripheral services. + */ + +#ifndef PERIPHERALSERVICE__CWORD121_SHADOW_CLIENT_INCLUDE_PERIPHERAL_SERVICE_PS_SERVICES_H_ // NOLINT(build/header_guard) +#define PERIPHERALSERVICE__CWORD121_SHADOW_CLIENT_INCLUDE_PERIPHERAL_SERVICE_PS_SERVICES_H_ // NOLINT(build/header_guard) + +/** + * @file ps_services.h + */ +/** @addtogroup BaseSystem + * @{ + */ +/** @addtogroup peripheral_service + * @ingroup BaseSystem + * @{ + */ + +/*------------------------------------------------------------------------------ + * define + *----------------------------------------------------------------------------*/ +#define SERVICE_PSMSHADOW "PS_PSMShadow" +/*!< @~english Define the name of SERVICE_PSMSHADOW */ + +#define SERVICE_IPC "PS_IPC_DISP" +/*!< @~english Define the name of SERVICE_IPC */ + +#define SERVICE_IPC_DISP "PS_IPC" +/*!< @~english Define the name of SERVICE_IPC_DISP */ + +#define SERVICE_IPCTESTAPP "PS_IPC_TestApp" +/*!< @~english Define the name of SERVICE_IPCTESTAPP */ + +#define SERVICE_HMIKEYHANDLER "PS_KeyHandler" +/*!< @~english PS_KeyHandler name SERVICE_HMIKEYHANDLER */ + +#define SERVICE_MP_SHADOW "PS_IPC_MP_Shadow" +/*!< @~english Define the name of SERVICE_MP_SHADOW */ + +#define SERVICE_SENSORSHADOW "PS_SensorShadow" +/*!< @~english Define the name of SERVICE_SENSORSHADOW */ + +#define SERVICE_COMMUNICATIONDEBUGDUMPTEST "PS_COMMUNICATIONDebugDumpTest" +/*!< @~english Define the name of SERVICE_COMMUNICATIONDEBUGDUMPTEST */ + +#define SERVICE_PSMSHADOWTEST "PS_TEST_PSMShadow" +/*!< @~english Define the name of SERVICE_PSMSHADOWTEST */ + +#define SERVICE_LOGGERSHADOW "PS_LoggerShadow" +/*!< @~english Define the name of SERVICE_LOGGERSHADOW */ + +#define SERVICE_SOFTWAREUPDATESHADOW "PS_SoftwareUpdateShadow" +/*!< @~english Define the name of SERVICE_SOFTWAREUPDATESHADOW */ + +// #define SERVICE_LINSHADOW "LINShadowService" +///*!< @~english Define the name of SERVICE_LINSHADOW */ + +// #define SERVICE_RTCSHADOW "RTCShadowService" +///*!< @~english Define the name of SERVICE_RTCSHADOW */ + +// #define SERVICE_HBSHADOW "HBShadowService" +///*!< @~english Define the name of SERVICE_HBSHADOW */ + +// #define SERVICE_HBDUMMY "HBDummyService" +///*!< @~english Define the name of SERVICE_HBDUMMY */ + +// #define SERVICE_DISPLAYSHADOW "DisplayShadowService" +///*!< @~english Define the name of SERVICE_DISPLAYSHADOW */ + +// #define SERVICE_HMIALDUMMY "HMIALDummyService" +///*!< @~english Define the name of SERVICE_HMIALDUMMY */ + +/** @}*/ // end of peripheral_service +/** @}*/ // end of BaseSystem + +#endif // PERIPHERALSERVICE__CWORD121_SHADOW_CLIENT_INCLUDE_PERIPHERAL_SERVICE_PS_SERVICES_H_ // NOLINT(build/header_guard) diff --git a/service/peripheral/communication/server/include/threads/CAN_Thread.h b/service/peripheral/communication/server/include/threads/CAN_Thread.h new file mode 100755 index 0000000..b6960ef --- /dev/null +++ b/service/peripheral/communication/server/include/threads/CAN_Thread.h @@ -0,0 +1,51 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef COMMUNICATION_SERVER_INCLUDE_THREADS_CAN_THREAD_H_ +#define COMMUNICATION_SERVER_INCLUDE_THREADS_CAN_THREAD_H_ +#include <peripheral_service/Canif_API.h> +#include <stdlib.h> + +#include "com_error_type.h" +#include "communication_communicationlog.h" + +#if 0 +#define CAN_TX_COMMAND_SIZE (CAN_TRX_HEADER_SIZE + CAN_TX_OPERAND_SIZE) + +#define CAN_RX_CANDATA_SIZE CAN_DATA_SIZE /* Receive CANData(DATA#1 ~ #x)size */ +/* Reserve the structure if it is not a multiple of 4. */ +#define CAN_TX_CANDATA_SIZE CAN_DATA_SIZE /* Send CANData(DATA#1 ~ #x)size */ +/* Reserve the structure if it is not a multiple of 4. */ +#define CAN_RX_OPERAND_SIZE (CAN_TRX_CANID_SIZE + CAN_TRX_DLC_SIZE + CAN_RX_CANDATA_SIZE) +#define CAN_TX_OPERAND_SIZE (CAN_TRX_CANID_SIZE + CAN_TRX_DLC_SIZE + CAN_TX_CANDATA_SIZE) // NOLINT(whitespace/line_length) +/* Send operand size */ + +#endif + +#define CAN_CMDSND_DATA_SIZE 0 /* Command transmission data section size (CAN command control) */ + +#define CAN_TX_CMD_DELIVERY_SIZE 4 /* Transmitting CAN Command Delivery Data Size Common Block */ +#define CAN_TX_CMD_FUELCALC_RST_SIZE 0 /* Transmit CAN Command Delivery Data Size CAN Section Burn Cost Reset Request Receive Data */ +#define CAN_TX_CMD_STARTUP_FIN_SIZE 3 /* Transmit CAN Command Delivery Data Size CAN Startup Completion Notification Data */ +#define CAN_TX_CMD_MRST_INFO_SIZE 33 /* Transmit CAN Command Delivery Data Size CAN Master Reset Information Notification Receive Data */ +#define CAN_TX_CMD_VERSION_SIZE 4 /* Transmit CAN Command Delivery Data Size CAN Version Response Receive Data */ + +#define CAN_TRX_HEADER_SIZE 7 /* Size of send/receive header section (data length excluding operands) */ +#define CAN_TRX_CANID_SIZE 4 /* Transmit/Receive CAN ID Size */ +#define CAN_TRX_DLC_SIZE 1 /* Transmit/Receive DLC Data Size */ +typedef CANIF_RET_API RET_CAN; +EFrameworkunifiedStatus CANCallbackForTimeOut(HANDLE); +#endif // COMMUNICATION_SERVER_INCLUDE_THREADS_CAN_THREAD_H_
\ No newline at end of file diff --git a/service/peripheral/communication/server/include/threads/Thread_Common.h b/service/peripheral/communication/server/include/threads/Thread_Common.h new file mode 100755 index 0000000..6cda5aa --- /dev/null +++ b/service/peripheral/communication/server/include/threads/Thread_Common.h @@ -0,0 +1,42 @@ +/* + * @copyright Copyright (c) 2019-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef COMMUNICATION_SERVER_INCLUDE_THREADS_THREAD_COMMON_H_ +#define COMMUNICATION_SERVER_INCLUDE_THREADS_THREAD_COMMON_H_ +#include <stdint.h> +#include <can_hal.h> +#include <string> +#include <sstream> +#include <iostream> + +const int32_t CAN_AVAILABILITY = 0x1; + +void CommonInit(void); +HANDLE CommonFindSender(HANDLE h_app, std::string s); +BOOL CommGetAvailabilityCurrent(int32_t current); +void CommSetAvailabilityCurrent(int32_t current); +void CommClrAvailabilityCurrent(int32_t current); +EFrameworkunifiedStatus CommonStartNotify(HANDLE h_app, PCSTR cmd); +EFrameworkunifiedStatus CommonThreadStart(HANDLE h_app, const FrameworkunifiedProtocolCallbackHandler *cb, + UI_32 count, PCSTR cmd, EFrameworkunifiedStatus (*open_func)(HANDLE)); +EFrameworkunifiedStatus CommonThreadStop(HANDLE h_app, const PUI_32 cb, UI_32 count, + PCSTR cmd, EFrameworkunifiedStatus (*close_func)(HANDLE)); +EFrameworkunifiedStatus CommonCanHalErrorNotify(HANDLE h_app); + +static inline EFrameworkunifiedStatus ConvRet(CANHAL_RET_API ret) { + return ((ret != CANHAL_RET_NORMAL) ? eFrameworkunifiedStatusFail : eFrameworkunifiedStatusOK); +} +std::string MessageDataOutputLog(uint8_t *msg_data, uint32_t len); +#endif
\ No newline at end of file |