From 924772fa507516e911c155866404f892bb1f87bc Mon Sep 17 00:00:00 2001 From: Jaremy Creechley Date: Mon, 26 Aug 2024 23:02:46 -0600 Subject: [PATCH] tweak stacktraces --- src/nesper/spis.nim | 4 ++-- src/nesper/timers.nim | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/nesper/spis.nim b/src/nesper/spis.nim index 7b66222..d474bd1 100644 --- a/src/nesper/spis.nim +++ b/src/nesper/spis.nim @@ -268,14 +268,13 @@ proc getData*(trn: SpiTrans): seq[byte] = else: return trn.rx_data.toSeq() +{.push stacktrace: off.} proc getSmallData*(trn: SpiTrans): array[4, uint8] = if trn.trn.rxlength > 32: raise newException(SpiError, "transaction data too large") return trn.trn.rx_data - - proc pollingStart*(trn: SpiTrans, ticks_to_wait: TickType_t = portMAX_DELAY) {.inline.} = let ret = spi_device_polling_start(trn.dev.handle, addr(trn.trn), ticks_to_wait) if (ret != ESP_OK): @@ -290,6 +289,7 @@ proc poll*(trn: SpiTrans, ticks_to_wait: TickType_t = portMAX_DELAY) {.inline.} let ret: esp_err_t = spi_device_polling_transmit(trn.dev.handle, addr(trn.trn)) if (ret != ESP_OK): raise newEspError[SpiError]("spi polling (" & $esp_err_to_name(ret) & ")", ret) +{.pop.} proc acquireBus*(trn: SpiDev, wait: TickType_t = portMAX_DELAY) {.inline.} = let ret: esp_err_t = spi_device_acquire_bus(trn.handle, wait) diff --git a/src/nesper/timers.nim b/src/nesper/timers.nim index 22e1616..ef19fb6 100644 --- a/src/nesper/timers.nim +++ b/src/nesper/timers.nim @@ -57,6 +57,7 @@ proc toMicros*(ts: Millis): Micros = return Micros(ts.uint64 * 1_000U) # void IRAM_ATTR delayMicroseconds(uint32_t us) +{.push stacktrace: off.} proc delayMicros*(us: uint64): uint64 {.discardable.} = if us.uint64 == 0: return 0 @@ -71,6 +72,7 @@ proc delayMicros*(us: uint64): uint64 {.discardable.} = curr = microsRaw() return target-curr +{.pop.} proc delayMillis*(ms: uint64): uint64 {.discardable.} = var start = millis() @@ -89,8 +91,10 @@ proc delay*(ts: Micros) {.discardable.} = discard delayMicros(ts.uint64) proc newBasicTimer*(): BasicTimer = return BasicTimer(ts: micros()) -proc elapsed*(timer: BasicTimer): Micros = +{.push stacktrace: off.} +proc elapsed*(timer: BasicTimer): Micros {.inline.} = return micros() - timer.ts +{.pop.} proc reset*(timer: var BasicTimer) = timer.ts = micros()