aboutsummaryrefslogtreecommitdiffstats
path: root/os/various/cpp_wrappers/ch.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'os/various/cpp_wrappers/ch.cpp')
-rw-r--r--os/various/cpp_wrappers/ch.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/os/various/cpp_wrappers/ch.cpp b/os/various/cpp_wrappers/ch.cpp
index 1ada921da..5faf6d37c 100644
--- a/os/various/cpp_wrappers/ch.cpp
+++ b/os/various/cpp_wrappers/ch.cpp
@@ -303,21 +303,51 @@ namespace chibios_rt {
chSemReset(&sem, n);
}
+ void Semaphore::resetI(cnt_t n) {
+
+ chSemResetI(&sem, n);
+ }
+
msg_t Semaphore::wait(void) {
return chSemWait(&sem);
}
+ msg_t Semaphore::waitS(void) {
+
+ return chSemWaitS(&sem);
+ }
+
msg_t Semaphore::waitTimeout(systime_t time) {
return chSemWaitTimeout(&sem, time);
}
+ msg_t Semaphore::waitTimeoutS(systime_t time) {
+
+ return chSemWaitTimeoutS(&sem, time);
+ }
+
void Semaphore::signal(void) {
chSemSignal(&sem);
}
+ void Semaphore::signalI(void) {
+
+ chSemSignalI(&sem);
+ }
+
+ void Semaphore::addCounterI(cnt_t n) {
+
+ chSemAddCounterI(&sem, n);
+ }
+
+ cnt_t Semaphore::getCounterI(void) {
+
+ return chSemGetCounterI(&sem);
+ }
+
#if CH_USE_SEMSW
msg_t Semaphore::signalWait(Semaphore *ssem, Semaphore *wsem) {