Update of /cvsroot/firebug/fireboard/beta/tools/src/xlisten/boards
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27915/boards
Modified Files:
fireboard.c
Added Files:
pg_test.c
Log Message:
Started abstracting out the postgres driver code.
--- NEW FILE: pg_test.c ---
/**
* Test code for developing postgres c code for
* xlisten.
*/
#include "../xdb.h"
#include "../xsensors.h"
// TODO: Change these to cooked values.
const char *fb_pg_weather_schema =
"CREATE TABLE %s%s ( "
"result_time timestamp without time zone, "
"epoch integer, "
"nodeid integer, "
"parent integer, "
"voltage integer, "
"humid integer, "
"humtemp integer, "
"intersemacal1 integer, "
"intersemacal2 integer, "
"intersemacal3 integer, "
"intersemacal4 integer,"
"prtemp integer, "
"press integer, "
"taosch0 integer, "
"taosch1 integer, "
"accel_x integer, "
"accel_y integer)";
const char *fb_pg_location_schema =
"CREATE TABLE %s%s ( "
"Hours integer, "
"Minutes integer, "
"seconds integer, "
"Latitudedegree integer, "
"Latitudeminutes integer, "
"Longitudedegree integer, "
"Longitudeminute integer, "
"NSEWind integer, "
"Fixed integer)";
/*
* Want 4 tables for asset tracking:
* cumulative_weather
* current weather
* cumulative_location
* current_location
*/
static char pg_statement[512];
void
fb_pg_create_cum_weather_table (void) {
sprintf(pg_statement, fb_pg_weather_schema, "cumulative_weather", "");
xdb_execute(pg_statement);
}
void
fb_pg_create_cur_weather_table (void) {
sprintf(pg_statement, fb_pg_weather_schema, "current_weather", "");
xdb_execute(pg_statement);
}
void
fb_pg_create_cum_location_table (void) {
sprintf(pg_statement, fb_pg_location_schema, "cumulative_location", "");
xdb_execute(pg_statement);
}
void
fb_pg_create_cur_location_table (void) {
sprintf(pg_statement, fb_pg_location_schema, "current_location", "");
xdb_execute(pg_statement);
}
/**
* Use this function for creating all of the tables
* in the data logging database.
*/
void
fb_pg_create_tables(void) {
fb_pg_create_cum_weather_table();
fb_pg_create_cur_weather_table();
fb_pg_create_cum_location_table();
fb_pg_create_cur_location_table();
}
/** Add the tablename as an argument. */
void
fb_pg_delete_table(const char * tablename) {
sprintf(pg_statement,"drop table %s", tablename);
xdb_execute(pg_statement);
}
/**
* Easy to delete tables before recreating them.
*/
void
fb_pg_delete_tables(void) {
fb_pg_delete_table("cumulative_weather");
fb_pg_delete_table("current_weather");
fb_pg_delete_table("cumulative_location");
fb_pg_delete_table("current_location");
}
/**
* When the schema changes, or for whatever other
* reason, the firebug tables may need to be recreated
* from scratch.
*/
void
fb_pg_recreate_tables(void) {
fb_pg_delete_tables();
fb_pg_create_tables();
}
Index: fireboard.c
===================================================================
RCS file: /cvsroot/firebug/fireboard/beta/tools/src/xlisten/boards/fireboard.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** fireboard.c 1 Jun 2005 00:22:47 -0000 1.7
--- fireboard.c 1 Jun 2005 01:46:21 -0000 1.8
***************
*** 731,735 ****
!
const char *fireboard_db_create_table =
"CREATE TABLE %s%s ( result_time timestamp without time zone, "
--- 731,735 ----
! /** This is xbow code. */
const char *fireboard_db_create_table =
"CREATE TABLE %s%s ( result_time timestamp without time zone, "
***************
*** 750,767 ****
- const char *fb_pg_create_weather_table =
- "CREATE TABLE %s%s ( result_time timestamp without time zone, "
- "epoch integer, nodeid integer, parent integer, "
- "voltage integer, humid integer, humtemp integer,"
- "intersemacal1 integer,intersemacal2 integer,intersemacal3 integer,intersemacal4 integer,"
- "prtemp integer,press integer,"
- "taosch0 integer,taosch1 integer,"
- "accel_x integer, accel_y integer)";
-
- const char *fb_pg_create_location_table =
- "Hours integer,Minutes integer,seconds integer,Latitudedegree integer,Latitudeminutes integer,"
- "Longitudedegree integer,Longitudeminute integer,"
- "NSEWind integer,Fixed integer)";
-
void
fb_pg_log(XbowSensorboardPacket *packet) {
--- 750,753 ----
***************
*** 948,951 ****
--- 934,942 ----
void fireboard_initialize() {
+
xpacket_add_type(&fireboard_packet_handler);
+ // Use this for testing the db setup.
+ //fb_pg_recreate_tables();
}
+
+
|