aboutsummaryrefslogtreecommitdiffstats
path: root/util/scan/dvb-t/fi-Pyhavuori
blob: 3d7adb93d753e61f2de9f4fc9e779dcc4066ea0b (plain)
1
2
3
4
5
# automatically generated from http://www.digitv.fi/sivu.asp?path=1;8224;9519
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
T 530000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 634000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
T 586000000 8MHz 2/3 NONE QAM64 8k 1/8 NONE
9; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
#include "stdafx.h"
#include "cphidgetweightsensor.h"
#include "cusb.h"
#include "csocket.h"
#include "cthread.h"
#include <math.h>

// === Internal Functions === //

//clearVars - sets all device variables to unknown state
CPHIDGETCLEARVARS(WeightSensor)

	phid->Weight = PUNI_DBL;
	phid->lastweight = PUNK_DBL;
	phid->WeightChangeTrigger = PUNI_DBL;

	return EPHIDGET_OK;
}

//initAfterOpen - sets up the initial state of an object, reading in packets from the device if needed
//				  used during attach initialization - on every attach
CPHIDGETINIT(WeightSensor)
	TESTPTR(phid);

	//initialize triggers, set data arrays to unknown
	phid->Weight = PUNK_DBL;
	phid->lastweight = PUNK_DBL;
	phid->WeightChangeTrigger = 0.1;

	//issue one read
	CPhidget_read((CPhidgetHandle)phid);

	return EPHIDGET_OK;
}

//dataInput - parses device packets
CPHIDGETDATA(WeightSensor)
	double Weight = 0;

	if (length<0) return EPHIDGET_INVALIDARG;
	TESTPTR(phid);
	TESTPTR(buffer);
	
	//Parse device packets - store data locally
	switch(phid->phid.deviceIDSpec)
	{
		case PHIDID_WEIGHTSENSOR:
			Weight = (((double)((unsigned short)buffer[0]+((unsigned short)buffer[1]<<8))) / 100.0 ) - 40.0;
			Weight = round_double(Weight, 2);
			break;
		default:
			return EPHIDGET_UNEXPECTED;
	}

	//store to structure
	phid->Weight = Weight;

	//send out any events that exceed or match the trigger
	if (fabs(phid->Weight - phid->lastweight) >= phid->WeightChangeTrigger || phid->lastweight == PUNK_DBL)
	{
		FIRE(WeightChange, phid->Weight);
		phid->lastweight = phid->Weight;
	}
	return EPHIDGET_OK;
}

//eventsAfterOpen - sends out an event for all valid data, used during attach initialization
CPHIDGETINITEVENTS(WeightSensor)
	if (phid->Weight != PUNK_DBL)
	{
		FIRE(WeightChange, phid->Weight);
		phid->lastweight = phid->Weight;
	}
	return EPHIDGET_OK;
}

//getPacket - not used for WeightSensor
CGETPACKET(WeightSensor)
	return EPHIDGET_UNEXPECTED;
}

// === Exported Functions === //

//create and initialize a device structure
CCREATE(WeightSensor, PHIDCLASS_WEIGHTSENSOR)

//event setup functions
CFHANDLE(WeightSensor, WeightChange, double)

CGET(WeightSensor,Weight,double)
	TESTPTRS(phid,pVal) 
	TESTDEVICETYPE(PHIDCLASS_WEIGHTSENSOR)
	TESTATTACHED
	TESTMASGN(Weight, PUNK_DBL)
	MASGN(Weight)
}

CGET(WeightSensor,WeightChangeTrigger,double)
	TESTPTRS(phid,pVal) 
	TESTDEVICETYPE(PHIDCLASS_WEIGHTSENSOR)
	TESTATTACHED
	TESTMASGN(WeightChangeTrigger, PUNK_DBL)
	MASGN(WeightChangeTrigger)
}
CSET(WeightSensor,WeightChangeTrigger,double)
	TESTPTR(phid) 
	TESTDEVICETYPE(PHIDCLASS_WEIGHTSENSOR)
	TESTATTACHED
	TESTRANGE(0, 300)
	if(CPhidget_statusFlagIsSet(phid->phid.status, PHIDGET_REMOTE_FLAG))
		ADDNETWORKKEY(Trigger, "%lE", WeightChangeTrigger);
	else
		phid->WeightChangeTrigger = newVal;
	return EPHIDGET_OK;
}