1 // Copyright 2020 The Pigweed Authors 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); you may not 4 // use this file except in compliance with the License. You may obtain a copy of 5 // the License at 6 // 7 // https://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 // License for the specific language governing permissions and limitations under 13 // the License. 14 15 // These tests call the pw_chrono module system_clock API from C. The return 16 // values are checked in the main C++ tests. 17 18 #include "pw_chrono/system_clock.h" 19 pw_chrono_SystemClock_CallNow(void)20pw_chrono_SystemClock_TimePoint pw_chrono_SystemClock_CallNow(void) { 21 return pw_chrono_SystemClock_Now(); 22 } 23 pw_chrono_SystemClock_CallTimeElapsed(pw_chrono_SystemClock_TimePoint last_time,pw_chrono_SystemClock_TimePoint current_time)24pw_chrono_SystemClock_Duration pw_chrono_SystemClock_CallTimeElapsed( 25 pw_chrono_SystemClock_TimePoint last_time, 26 pw_chrono_SystemClock_TimePoint current_time) { 27 return pw_chrono_SystemClock_TimeElapsed(last_time, current_time); 28 } 29 pw_chrono_SystemClock_CallDurationToNsFloor(pw_chrono_SystemClock_Duration ticks)30pw_chrono_SystemClock_Nanoseconds pw_chrono_SystemClock_CallDurationToNsFloor( 31 pw_chrono_SystemClock_Duration ticks) { 32 return pw_chrono_SystemClock_DurationToNsFloor(ticks); 33 } 34 pw_chrono_SystemClock_Macros_100ms(void)35pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_100ms(void) { 36 return PW_SYSTEM_CLOCK_MS(100); 37 } 38 pw_chrono_SystemClock_Macros_10s(void)39pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_10s(void) { 40 return PW_SYSTEM_CLOCK_S(10); 41 } 42 pw_chrono_SystemClock_Macros_1min(void)43pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_1min(void) { 44 return PW_SYSTEM_CLOCK_MIN(1); 45 } 46 pw_chrono_SystemClock_Macros_2h(void)47pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_2h(void) { 48 return PW_SYSTEM_CLOCK_H(2); 49 } 50 pw_chrono_SystemClock_Macros_100msCeil(void)51pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_100msCeil(void) { 52 return PW_SYSTEM_CLOCK_MS_CEIL(100); 53 } 54 pw_chrono_SystemClock_Macros_10sCeil(void)55pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_10sCeil(void) { 56 return PW_SYSTEM_CLOCK_S_CEIL(10); 57 } 58 pw_chrono_SystemClock_Macros_1minCeil(void)59pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_1minCeil(void) { 60 return PW_SYSTEM_CLOCK_MIN_CEIL(1); 61 } 62 pw_chrono_SystemClock_Macros_2hCeil(void)63pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_2hCeil(void) { 64 return PW_SYSTEM_CLOCK_H_CEIL(2); 65 } 66 pw_chrono_SystemClock_Macros_100msFloor(void)67pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_100msFloor(void) { 68 return PW_SYSTEM_CLOCK_MS_FLOOR(100); 69 } 70 pw_chrono_SystemClock_Macros_10sFloor(void)71pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_10sFloor(void) { 72 return PW_SYSTEM_CLOCK_S_FLOOR(10); 73 } 74 pw_chrono_SystemClock_Macros_1minFloor(void)75pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_1minFloor(void) { 76 return PW_SYSTEM_CLOCK_MIN_FLOOR(1); 77 } 78 pw_chrono_SystemClock_Macros_2hFloor(void)79pw_chrono_SystemClock_Duration pw_chrono_SystemClock_Macros_2hFloor(void) { 80 return PW_SYSTEM_CLOCK_H_FLOOR(2); 81 } 82