/****************************************************************************** * * Copyright (C) 2018 ST Microelectronics S.A. * * 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. * * ******************************************************************************/ #include "Utils.h" #include #include "android_logmsg.h" /******************************************************************************* ** ** Function Utils_charArrayToHexString ** ** Description Converts the given char array into its HEX-based string ** representation. ** ** Parameters array - char array to be converted. ** length - length of the char array. ** hexString - Output hex string buffer. ** ** Returns 0 on successful conversion, -1 otherwise. ** *******************************************************************************/ int Utils_charArrayToHexString(char* array, int length, char* hexString) { char* ptr = hexString; int i; for (i = 0; i < length; i++) { ptr += sprintf(ptr, "%02X ", array[i]); } return 0; } /******************************************************************************* ** ** Function Utils_getElapsedTimeInMs ** ** Description Returns the difference of time (in ms) between t1 and t2. ** ** Parameters t1 - initial time. ** t2 - final time. ** ** Returns The difference t2 - t1 in ms. ** *******************************************************************************/ int Utils_getElapsedTimeInMs(struct timeval t1, struct timeval t2) { return (t2.tv_sec - t1.tv_sec) * 1000 + (t2.tv_usec - t1.tv_usec) / 1000; } /******************************************************************************* ** ** Function Utils_getElapsedTimeInUs ** ** Description Returns the difference of time (in Us) between t1 and t2. ** ** Parameters t1 - initial time. ** t2 - final time. ** ** Returns The difference t2 - t1 in ms. ** *******************************************************************************/ int Utils_getElapsedTimeInUs(struct timeval t1, struct timeval t2) { return (t2.tv_sec - t1.tv_sec) * 1000000 + (t2.tv_usec - t1.tv_usec); } /******************************************************************************* ** ** Function Utils_printCurrentTime ** ** Description Prints current time to standard log. ** ** Parameters prefix- The prefix to be printed before the time. ** ** Returns void ** *******************************************************************************/ void Utils_printCurrentTime(char* prefix) { struct timeval currentTime; gettimeofday(¤tTime, 0); STLOG_HAL_V("SpiTiming: %s: %ld,%ld", prefix, currentTime.tv_sec, currentTime.tv_usec); }