Pumpkin, Inc.

Pumpkin User Forums


If you can't make Salvo do what you want it to do, post it here.


Postby jfitter » Mon Mar 12, 2001 6:19 am

With the full version of Salvo. I cannot signal a binary semaphore from the ISR. PICC quotes multiple roots for the function. I have set the semaphore source correctly in salvocfg.h and recompiled the library. I have tried many things and given up. the trusty old global flag works fine, but seems inconsistent with the philosophy of using the rtos. Where do I look next?
Posts: 1
Joined: Mon Mar 12, 2001 12:00 am
Location: Mapleton, QLD, Australia


Postby Salvo Tech Support » Tue Mar 13, 2001 5:51 am

Hi jfitter:

Two things:

1) It sounds like you've done this already, but just to be sure: Have you set OSCALL_OSSIGNALSEM to OSFROM_FOREGROUND or OSFROM_ANYWHERE? These configuration options will re-configure the service and insert PIC C's required interrupt_level pragma in the right places.

2) If you have done 1) and you're still having problems, refer to the fix in Service Bulletin SB-2, available here. This details how to manually add the pragma to the source code to solve the problem.

Note that if you are calling OSSignalSem() only from an ISR, OSFROM_FOREGROUND is all that is required. The interrupt_level pragma is needed when both foreground (ISR) and background (task, mainline) calls are made using the same event-signaling service.

[This message has been edited by Salvo Tech Support (edited March 13, 2001).]

Salvo Technical Support
Please request all tech support through the Forums.
Salvo Tech Support
Posts: 173
Joined: Sun Nov 19, 2000 12:00 am

Return to Coding

Who is online

Users browsing this forum: No registered users and 2 guests