16#ifndef _NETSIM_BATTERY_MODEL_H_
17#define _NETSIM_BATTERY_MODEL_H_
25 double consumedEnergy;
27}BATTERYMODE, * ptrBATTERYMODE;
32 NETSIM_ID interfaceId;
34 double consumedEnergy;
35 double remainingEnergy;
37 double rechargingCurrent;
39 double rechargingEnergy;
40 double SumSleepEnergy;
41 double SumTransmitEnergy;
42 double SumConsumedEnergy;
44 double SumReceiveEnergy;
45 double SumHarvestedEnergy;
49 double modeChangedTime;
53}BATTERY, * ptrBATTERY;
55#ifndef _BATTERY_MODEL_CODE_
56#pragma comment(lib,"BatteryModel.lib")
60 _declspec(dllexport) ptrBATTERY battery_find(NETSIM_ID d,
62 _declspec(dllexport)
void battery_add_new_mode(ptrBATTERY battery,
66 _declspec(dllexport) ptrBATTERY battery_init_new(NETSIM_ID deviceId,
67 NETSIM_ID interfaceId,
70 double dRechargingCurrent);
71 _declspec(dllexport)
bool battery_set_mode(ptrBATTERY battery,
74 _declspec(dllexport)
void battery_animation();
75 _declspec(dllexport)
void battery_metrics(PMETRICSWRITER metricsWriter);
76 _declspec(dllexport)
double battery_get_remaining_energy(ptrBATTERY battery);
77 _declspec(dllexport)
double battery_get_consumed_energy(ptrBATTERY battery,
int mode);
80 void init_battery_log(ptrBATTERY battery);
81 void close_battery_log();
82 bool get_protocol_log_status(
char* logname);
83 void Battery_RadioMeasurements_Log(ptrBATTERY battery,
double harvestedEnergy,
double ConsumedEnergy,
int prev_mode,
int curr_mode,
double mode_change_time, ptrBATTERYMODE pm);