summaryrefslogtreecommitdiff
path: root/fw/fe310/eos/eve/eve_phy.h
blob: 37d022192386e73ba8fa6c9e8a92d3c3e77e54a8 (plain)
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
#include <stdint.h>

typedef struct EVEPhyAcc {
    int a;
    int k;
    int x0;
    int y0;
    int v0x;
    int v0y;
} EVEPhyAcc;

void eve_phy_acc_init(EVEPhyAcc *param, int a);
void eve_phy_acc_start(EVEPhyAcc *param, int x0, int y0, int v0x, int v0y);
int eve_phy_acc_tick(EVEPhyAcc *param, uint32_t dt, int *x, int *y);

typedef struct EVEPhyLHO {
    int x;
    int y;
    double f;
    double a;
    uint32_t t_max;
    int x0;
    int y0;
} EVEPhyLHO;

void eve_phy_lho_init(EVEPhyLHO *param, int x, int y, uint32_t T, double d, uint32_t t_max);
int eve_phy_lho_start(EVEPhyLHO *param, int x0, int y0);
int eve_phy_lho_tick(EVEPhyLHO *param, uint32_t dt, int *x, int *y);