void _OS_ReturnSave (void) { // _OS_SET_FSR_CUR_TASK_W(_OS_TASK_POINTER_OFFSET + 1); _OS_SET_FSR_CUR_TASK_W(1 + 1); _OS_SAVE_PC(); _OS_bTaskReady = 1; _PIC16E_POP(); }
void _OS_ReturnSave (void) { _OS_SET_FSR_CUR_TASK_W(OS_CODE_POINTER_SIZE + _OS_TASK_POINTER_OFFSET); _postdec = _fsr1l - _OS_TempH; _OS_SAVE_PC(); _OS_bTaskReady = 1; _OS_POP(); }
void _OS_JumpToTask (void) { _OS_SET_FSR_CUR_TASK_W(OS_CODE_POINTER_SIZE + _OS_TASK_POINTER_OFFSET); if (_indf) { _indf1 = _fsr2l; _fsr2l = _fsr1l; } _OS_TempH = _fsr1l; _fsr1l += _postdec; _OS_SET_PC(); }
void _OS_ClrReadySetClrCanContinue (void) { _OS_Flags.bEventError = 0; _OS_SET_FSR_CUR_TASK_W(OS_CODE_POINTER_SIZE + _OS_TASK_POINTER_OFFSET); _postdec = _fsr1l - _OS_TempH; _OS_SAVE_PC(); _OS_bTaskReady = 0; #if defined(OS_ENABLE_TTIMERS) if (!_OS_bTaskDelay) _OS_bTaskCanContinue = 0; if (_OS_Temp & 0x01) _OS_bTaskCanContinue = 1; #endif }
void _OS_ClrReadySetClrCanContinue (void) { _PIC16E_POP(); _OS_Flags.bEventError = 0; // _OS_SET_FSR_CUR_TASK_W(_OS_TASK_POINTER_OFFSET + 1); _OS_SET_FSR_CUR_TASK_W(1 + 1); _OS_SAVE_PC(); _OS_bTaskReady = 0; #if defined(OS_ENABLE_TTIMERS) if (!_OS_bTaskDelay) _OS_bTaskCanContinue = 0; if (_OS_Temp & 0x01) _OS_bTaskCanContinue = 1; #endif }
void _OS_JumpToTask (void) { // _OS_SET_FSR_CUR_TASK_W(_OS_TASK_POINTER_OFFSET + 1); _OS_SET_FSR_CUR_TASK_W(1 + 1); _OS_SET_PC(); }