Sun Microsystems CP2500 manual Sample Application Program

Page 51

Sample Application Program

This section presents a sample environmental monitoring (envmond) application that monitors the CPU diode temperature.

CODE EXAMPLE 2-1Sample envmond Application Program

/*

*sensor_readwrite.c

*compile: cc sensor_readwrite.c -lthread -lpicl -o sensor_readwrite

*/

#include <stdio.h> #include <picl.h>

#define HI_POWEROFF_THRESHOLD

"HighPowerOffThreshold"

#define HI_SHUTDOWN_THRESHOLD

"HighShutdownThreshold"

#define HI_WARNING_THRESHOLD

"HighWarningThreshold"

#define LO_POWEROFF_THRESHOLD

"LowPowerOffThreshold"

#define LO_SHUTDOWN_THRESHOLD

"LowShutdownThreshold"

#define LO_WARNING_THRESHOLD

"LowWarningThreshold"

#define CURRENT_TEMPERATURE

"Temperature"

static int

get_child_by_name(picl_nodehdl_t nodeh, char *name, picl_nodehdl_t *resulth)

{

picl_nodehdl_t childh; picl_nodehdl_t nexth;

charpropname[PICL_PROPNAMELEN_MAX];

picl_errno_t rc;

/* look up first child node */

rc = picl_get_propval_by_name(nodeh, PICL_PROP_CHILD, &childh, sizeof (picl_nodehdl_t));

if (rc != PICL_SUCCESS) { return (rc);

}

/* step through child nodes looking for named node */ while (rc == PICL_SUCCESS) {

rc = picl_get_propval_by_name(childh, PICL_PROP_NAME, propname, sizeof (propname));

if (rc != PICL_SUCCESS) { return (rc);

}

if (name && strcmp(propname, name) == 0) { /* yes - got it */

Chapter 2 Environmental Monitoring 37

Image 51
Contents Netra CP2500 Board Programming Guide Page Contents User Flash Figures Vi Netra CP2500 Board Programming Guide March Tables Viii Netra CP2500 Board Programming Guide March Code Samples Netra CP2500 Board Programming Guide March How This Book Is Organized PrefaceTypographic Conventions Using Unix CommandsRelated Documentation Shell PromptsDocumentation, Support, and Training Third-Party Web SitesSun Welcomes Your Comments Overview Watchdog TimerPicl Plug-In Module 2Properties Under watchdog-controllerNode 1Watchdog Plug-In Interfaces for Netra CP2500 Board SoftwareHEALTHY# 3Properties Under watchdog-timerNodeCode Example 1-1System Watchdog Node Management Code Example Watchdog Node Management CodeCode Example 1-1System Watchdog Node Management Code Example Usagestr Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Null Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Code Example 1-1System Watchdog Node Management Code Example Notreached Code Example 1-1System Watchdog Node Management Code Example OpenBoot Prom Interface Netra CP2500 Board Programming Guide March Environmental Monitoring Environmental Monitoring Component Compatibility Typical Environmental Monitoring System Application1Compatible Environmental Monitoring Components I2C Environmental Monitoring Protection at the OpenBoot Prom Typical Cycle From Power Up to ShutdownPost Shutdown Recovery 3I2C Components Hardware Environmental Monitoring FunctionsEnvironmental Monitoring CPU Inlet, Exhaust, and CPU Temperature Monitoring Switching Power On and OffNetra CP2500 Board Programming Guide March Critical Temperature Response at OpenBoot Prom OpenBoot Prom Environmental MonitoringEnvironmental Monitoring Application Programming Using the show-sensorsCommand at OpenBoot Prom4PICL Temperature Sensor Class Node Properties Reading Temperature Sensor States UsingSolaris Driver Interface Using a Configuration File for Sensor InformationCode Example 2-1Sample envmond Application Program Sample Application ProgramCode Example 2-1Sample envmond Application Program Code Example 2-1Sample envmond Application Program Code Example 2-1Sample envmond Application Program Prtdiag command example Reading the CPU Temperature Environmental Limits5Description of Values Displayed by Solaris Commands User Flash Usage and Implementation User FlashOpenBoot Prom Device Tree and Properties User Flash Driver1User Flash Node Properties 2System Calls Application Programming InterfaceUser Flash Device Files Interface Header FileCode Example 3-1PROM Information Structure Structures to Use in Ioctl ArgumentsErrors Example ProgramsCode Example 3-2User Flash Interface Structure Code Example 3-3Read Action on User Flash Device Read Example ProgramCode Example 3-4Write Action on User Flash Device Write Example ProgramCode Example 3-4Write Action on User Flash Device Code Example 3-5Block Erase Action on User Flash Device Block Erase Example ProgramCode Example 3-5Block Erase Action on User Flash Device Code Example 3-6Sample User Flash Application Program Sample User Flash Application ProgramCode Example 3-6Sample User Flash Application Program Code Example 3-6Sample User Flash Application Program Code Example 3-6Sample User Flash Application Program Code Example 3-6Sample User Flash Application Program Code Example 3-6Sample User Flash Application Program Picl IndexWatchdog-controller, 3 Watchdog-timer, 3