had to change the parameter boundaries of the wifi optimizer to be able to use it for bluetooth... this should be refactored to something more generic.. some minor changes in ble
62 lines
1.7 KiB
C++
62 lines
1.7 KiB
C++
/*
|
||
* © Copyright 2014 – Urheberrechtshinweis
|
||
* Alle Rechte vorbehalten / All Rights Reserved
|
||
*
|
||
* Programmcode ist urheberrechtlich geschuetzt.
|
||
* Das Urheberrecht liegt, soweit nicht ausdruecklich anders gekennzeichnet, bei Frank Ebner.
|
||
* Keine Verwendung ohne explizite Genehmigung.
|
||
* (vgl. § 106 ff UrhG / § 97 UrhG)
|
||
*/
|
||
|
||
#ifndef BEACONMODEL_H
|
||
#define BEACONMODEL_H
|
||
|
||
#include "../Beacon.h"
|
||
#include "../BeaconMeasurement.h"
|
||
#include "../../../geo/Point3.h"
|
||
|
||
#include "../../../data/XMLserialize.h"
|
||
|
||
#include <vector>
|
||
|
||
/**
|
||
* interface for signal-strength prediction models.
|
||
*
|
||
* the model is passed a MAC-address of an AP in question, and a position.
|
||
* hereafter the model returns the RSSI for this AP at the questioned location.
|
||
*/
|
||
class BeaconModel : public XMLserialize {
|
||
|
||
public:
|
||
|
||
// /** get the given access-point's RSSI at the provided location */
|
||
// virtual float getRSSI(const LocatedAccessPoint& ap, const Point3 p) = 0;
|
||
|
||
/** dtor */
|
||
virtual ~BeaconModel() {;}
|
||
|
||
/** get a list of all APs known to the model */
|
||
virtual std::vector<Beacon> getAllBeacons() const = 0;
|
||
|
||
/**
|
||
* update the beacons signal strength using the current measurement
|
||
* this could happen if the txp is not updated within the floorplan
|
||
*
|
||
* be careful and don't use fantasy values, this could ruin your localitions
|
||
* completely
|
||
*/
|
||
virtual void updateBeacon(const BeaconMeasurement beacon) = 0;
|
||
|
||
|
||
/**
|
||
* get the RSSI expected at the given location (in meter)
|
||
* for an beacon identified by the given MAC.
|
||
*
|
||
* if the model can not predict the RSSI for an beacon, it returns NaN!
|
||
*/
|
||
virtual float getRSSI(const MACAddress& accessPoint, const Point3 position_m) const = 0;
|
||
|
||
};
|
||
|
||
#endif // BEACONMODEL_H
|