File: weatherInfo.idl

package info (click to toggle)
python-omniorb 3.6-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, stretch, wheezy
  • size: 3,128 kB
  • ctags: 3,321
  • sloc: cpp: 13,969; python: 8,883; sh: 2,576; xml: 107; makefile: 95; ansic: 35
file content (67 lines) | stat: -rw-r--r-- 2,340 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// 
// weatherInfo.idl                                                     
// 
// This is the interface for the weather information server.  It is a client
// of the weather station server, and provides several additional services
// including a greater range of processed weather data, more robustness in
// restarting after hardware failures, and historical data logging.
//
// This server is intended to run on a system with a proper filing system,
// while the weather station is designed to run on ATMOS.
//
// $Id: weatherInfo.idl 4760 2003-03-23 21:51:59Z dgrisby $
// $Author: dgrisby $
/*
$Log$
Revision 1.1  2000/01/06 18:38:06  dpg1
Weather station demo.

# Revision 1.3  1998/10/28  13:57:51  krw
# Rolling wind speed added.
#
# Revision 1.2  1995/11/02  11:35:43  krw
# Remove extraneous typedef of time_t.
#
# Revision 1.1  1995/08/30  09:28:19  krw
# Initial revision
#
*/

struct cumulativeWeatherInfo {
  long start;              // Beginning of interval in Unix time() format
  long end;                // End of interval in Unix time() format
  float sunshine;          // Hours of sunshine during interval.
  float rainfall;          // mm of rainfall during interval.
};

struct immediateWeatherInfo {
  short windDirection;     // degrees clockwise from due North 
  short windSpeed;         // knots (now)
  float rollingWindSpeed;  // knots (10-minute rolling average, -1 if not ready)
  float temperature;       // degrees Celsius
  short humidity;          // percent
  float dewpoint;          // degrees Celsius
  short pressure;          // millibars
  short sunny;             // 1 if it's sunny now, 0 otherwise
  short rainy;             // 1 if it's rainy now, 0 otherwise
};
 
interface weatherInfo {

  short windDirection();                     //
  short windSpeed();                         //
  float rollingWindSpeed();                  //
  float temperature();                       //
  short humidity();                          // Units as above.
  float dewpoint();                          //
  short pressure();                          //
  short sunny();                             //
  short rainy();                             //

  immediateWeatherInfo  immediate();         // All immediate data at once
  cumulativeWeatherInfo cumulative();        // Sunshine and rainfall
};