46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
| * CANopen Task relevant settings for ThreadX usage
 | |
| *
 | |
| * This header is designed to include within gen_define.h .
 | |
| *
 | |
| */
 | |
| #ifndef CODRV_THREADX_H
 | |
| #define CODRV_THREADX_H 1
 | |
| 
 | |
| #define CODRV_USE_THREADX 1
 | |
| 
 | |
| /* required header */
 | |
| 
 | |
| #include <tx_api.h>
 | |
| 
 | |
| /* required external variables */
 | |
| /* semphCANopen is used to wake up the CANopen task */
 | |
| extern TX_SEMAPHORE semphCANopen;
 | |
| /* semphObjDir is used to Lock the object dictionary access */
 | |
| extern TX_SEMAPHORE semphObjDir;
 | |
| 
 | |
| #define CO_OS_SIGNAL_CAN_TRANSMIT \
 | |
| 		do { (void)tx_semaphore_put(&semphCANopen); } while(0);
 | |
| 
 | |
| #define CO_OS_SIGNAL_CAN_RECEIVE  \
 | |
| 		do { (void)tx_semaphore_put(&semphCANopen); } while(0);
 | |
| 
 | |
| #define CO_OS_SIGNAL_TIMER \
 | |
| 		do { (void)tx_semaphore_put(&semphCANopen); } while(0);
 | |
| 
 | |
| #define CO_OS_SIGNAL_CAN_STATE \
 | |
| 		do { (void)tx_semaphore_put(&semphCANopen); } while(0);
 | |
| 
 | |
| #define CO_OS_LOCK_OD \
 | |
| 		do { (void)tx_semaphore_get(&semphObjDir, TX_WAIT_FOREVER); } while(0);
 | |
| 
 | |
| #define CO_OS_UNLOCK_OD \
 | |
| 		do { (void)tx_semaphore_put(&semphObjDir); } while(0);
 | |
| 
 | |
| 		
 | |
| #include <co_datatype.h>
 | |
| /* function declarations */
 | |
| RET_T codrvOSConfig(void);
 | |
| 
 | |
| #endif /* CODRV_THREADX_H */
 |