void IRAM_ATTR onTimer() {
portENTER_CRITICAL_ISR(&timerMux);
digitalWrite(CSB, LOW);
SPI.transfer(0xA1);
dataLSB = SPI.transfer(0x00);
digitalWrite(CSB, HIGH);
digitalWrite(CSB, LOW);
SPI.transfer(0xA2);
dataMSB = SPI.transfer(0x00);
digitalWrite(CSB, HIGH);
position = (dataMSB << 8) | (dataLSB);
position = (position >> 6)-90;
dacWrite(DAC_Channel_1, position);
portEXIT_CRITICAL_ISR(&timerMux);
// Give a semaphore that we can check in the loop
// xSemaphoreGiveFromISR(timerSemaphore, NULL);
// It is safe to use digitalRead/Write here if you want to toggle an output
}