⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysled.c

📁 WINDRIVER SBC7410 BSP
💻 C
字号:
/* sysLed.c - system led support library *//* Copyright 1984-2002 Wind River Systems, Inc. *//*modification history--------------------01a,04mar02,gtf   written.*//*DESCRIPTIONThis library contains board-specific routines for the user leds.Note that these functions are not protected for simultaneous useby multiple tasks. If this is desired the user needs to provide wrapper functions which make use of semaphores.*/#include "vxWorks.h"#include "config.h"#include "sysLed.h"UINT32 ledState = 0xf ; /* all off */UINT32 sysLedInitFlag = 0 ;/********************************************************************************* sysLedInit - initialize system led library.**	Retains setting of other leds.** RETURNS: NONE.** NOMANUAL*/void sysLedInit(void)    {    if ( sysLedInitFlag == 0 )        {        LED_REG(0xf); /* turn all leds off */        sysLedInitFlag=1 ;        }    }/********************************************************************************* sysLedSet - set the specified led to the specified state.**	ledNum: 0..7*   state: 0 on, 1 off**	Retains setting of other leds.** RETURNS: OK, ERROR.** NOMANUAL*/STATUS sysLedSet    (    int ledNum,     int state    )    {    if ( ledNum < 0 || ledNum > 3 )        return ERROR ;    if ( state < 0 || state > 1 )        return ERROR ;    switch ( ledNum )        {        case 0:            sysLed0Set(state);            break;        case 1:            sysLed1Set(state);            break;        case 2:            sysLed2Set(state);            break;        case 3:            sysLed3Set(state);            break;        }    return OK ;    }/********************************************************************************* sysLedSetAll - sets led value for all leds.**   state : 1 off, 0 on**	Retains setting of other leds.** RETURNS: OK, ERROR ** NOMANUAL*/STATUS sysLedSetAll    (    int state    )    {    if ( state < 0 || state > 1 )        return ERROR ;    sysLed0Set(state);    sysLed1Set(state);    sysLed2Set(state);    sysLed3Set(state);    return OK ;    }/********************************************************************************* sysLedGet - gets led value for specified led.**	ledNum: 0..7*   Use LED numbers in sysLed.h** RETURNS: state** NOMANUAL*/UINT32 sysLedGet    (    int ledNum    )    {    UINT32 temp=0 ;    switch ( ledNum )        {        case 0:            temp=sysLed0Get();            break;        case 1:            temp=sysLed1Get();            break;        case 2:            temp=sysLed2Get();            break;        case 3:            temp=sysLed3Get();            break;        }    return(temp) ;    }/********************************************************************************* sysLed0Set - sets led 0.**   state : 1 off, 0 on**	Retains setting of other leds.** RETURNS: OK, ERROR ** NOMANUAL*/STATUS sysLed0Set    (    int state    )    {    if ( state < 0 || state > 1 )        return ERROR ;    if ( state == LED_ON )        ledState &= ~(1<<0) ;    else        ledState |= (1<<0);    LED_REG(ledState);    EIEIO;    return OK ;    }/********************************************************************************* sysLed0Get - gets value of led 0.**   state : 1 off, 0 on**	Retains setting of other leds.** RETURNS: state** NOMANUAL*/UINT32 sysLed0Get(void)    {    UINT32 val  ;    val = (ledState&0x1)>>0 ;    return val ;    }/********************************************************************************* sysLed1Set**   state : 1 off, 0 off**	Retains setting of other leds.** RETURNS: OK, ERROR** NOMANUAL*/STATUS sysLed1Set    (    int state    )    {    if ( state < 0 || state > 1 )        return ERROR ;    if ( state == LED_ON )        ledState &= ~(1<<1) ;    else        ledState |= (state<<1);    LED_REG(ledState);    EIEIO;    return OK ;    }/********************************************************************************* sysLed1Get - gets state of led 1**	Retains setting of other leds.** RETURNS: state** NOMANUAL*/UINT32 sysLed1Get(void)    {    UINT32 val  ;    val = (ledState&0x2)>>1;    return val ;    }/********************************************************************************* sysLed2Set - sets state of led 2.**   state : 1 off, 0 on**	Retains setting of other leds.** RETURNS: OK, ERROR** NOMANUAL*/STATUS sysLed2Set    (    int state    )    {    if ( state < 0 || state > 1 )        return ERROR ;    if ( state == LED_ON )        ledState &= ~(1<<2) ;    else        ledState |= (state<<2);    LED_REG(ledState);    EIEIO;    return OK ;    }/********************************************************************************* sysLed2Get - gets state of led 2.**   state : 1 off, 0 on**	Retains setting of other leds.** RETURNS: state** NOMANUAL*/UINT32 sysLed2Get(void)    {    UINT32 val  ;    val = (ledState&0x4)>>2;    return val ;    }/********************************************************************************* sysLed3Set - sets state of led 3**   state : 1 off, 0 on**	Retains setting of other leds.** RETURNS: OK, ERROR** NOMANUAL*/STATUS sysLed3Set    (    int state    )    {    if ( state < 0 || state > 1 )        return ERROR ;    if ( state == LED_ON )        ledState &= ~(1<<3) ;    else        ledState |= (state<<3);    LED_REG(ledState);    EIEIO;    return OK ;    }/********************************************************************************* sysLed3Get - gets state of led 3**   state : 1 off, 0 on**	Retains setting of other leds.** RETURNS: state : LED_ON, LED_OFF** NOMANUAL*/UINT32 sysLed3Get(void)    {    UINT32 val  ;    val = (ledState&0x8)>>3;    return val ;    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -