param.h
Go to the documentation of this file.
1 // Copyright (c) 2010-2016 The YP-Spur Authors, except where otherwise indicated.
2 //
3 // Permission is hereby granted, free of charge, to any person obtaining a copy
4 // of this software and associated documentation files (the "Software"), to
5 // deal in the Software without restriction, including without limitation the
6 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7 // sell copies of the Software, and to permit persons to whom the Software is
8 // furnished to do so, subject to the following conditions:
9 //
10 // The above copyright notice and this permission notice shall be included in
11 // all copies or substantial portions of the Software.
12 //
13 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19 // SOFTWARE.
20 
21 #ifndef PARAM_H
22 #define PARAM_H
23 
24 #include <stdio.h>
25 
26 #include <ypparam.h>
27 #include <utility.h>
28 
29 #include <pthread.h>
30 
31 typedef enum
32 {
36  OPTION_SHOW_HELP = 0x0008,
39  OPTION_VERSION = 0x0040,
40  OPTION_DAEMON = 0x0080,
41 
42  OPTION_SOCKET = 0x00200,
43  OPTION_PARAM_FILE = 0x00400,
44 
46  OPTION_WITHOUT_SSM = 0x01000,
49  OPTION_RECONNECT = 0x08000,
51  OPTION_PASSIVE = 0x20000,
53  OPTION_HIGH_PREC = 0x80000,
54  OPTION_PING = 0x100000,
55 } ParamOptions;
56 
57 #define OPTION_DEFAULT (OPTION_HIGH_PREC)
58 
59 #define DEFAULT_PARAMETER_FILE "./robot.param"
60 #define DEFAULT_DEVICE_NAME "/dev/ttyUSB0"
61 
62 #define GRAVITY 9.81
63 #define SIGN(x) ((x < 0) ? -1 : 1)
64 
65 typedef enum
66 {
72 
73 typedef struct _parameters *ParametersPtr;
74 typedef struct _parameters
75 {
76  char parameter_filename[132];
77  char device_name[132];
78  int msq_key;
79  int port;
80  int speed;
83  unsigned char admask;
84  int ssm_id;
90 } Parameters;
91 
92 int arg_analyze(int argc, char *argv[]);
93 void arg_help(int argc, char *argv[]);
94 void param_help(void);
95 void arg_longhelp(int argc, char *argv[]);
96 int set_param(char *filename, char *concrete_path);
97 int set_paramptr(FILE *paramfile);
98 void calc_param_inertia2ff(void);
99 int set_param_motor(void);
100 int set_param_velocity(void);
101 int parameter_set(char param, char id, long long int value64);
102 int apply_robot_params(void);
103 
105 int state(YPSpur_state id);
106 void enable_state(YPSpur_state id);
107 void disable_state(YPSpur_state id);
108 double p(YPSpur_param id, enum motor_id motor);
109 int isset_p(YPSpur_param id, enum motor_id motor);
110 double *pp(YPSpur_param id, enum motor_id motor);
111 ParametersPtr get_param_ptr();
114 void param_calc();
115 
116 void param_update(void *filename);
117 void init_param_update_thread(pthread_t *thread, char *filename);
118 void param_update_loop_cleanup(void *data);
119 
120 #endif // PARAM_H
unsigned char admask
Definition: param.h:83
double * pp(YPSpur_param id, enum motor_id motor)
Definition: param.c:94
int speed
Definition: param.h:80
YPSpur_state
Definition: ypparam.h:476
int set_param_velocity(void)
Definition: param.c:1402
ParamOptions
Definition: param.h:31
char device_name[132]
Definition: param.h:77
double p(YPSpur_param id, enum motor_id motor)
Definition: param.c:79
void arg_longhelp(int argc, char *argv[])
Definition: param.c:134
YPSpur_param
Definition: ypparam.h:118
int apply_robot_params(void)
Definition: param.c:1057
void enable_state(YPSpur_state id)
Definition: param.c:69
int ssm_id
Definition: param.h:84
void param_calc()
Definition: param.c:434
char parameter_filename[132]
Definition: param.h:76
void param_help(void)
Definition: param.c:159
void calc_param_inertia2ff(void)
Definition: param.c:1105
ParamOutputLv
Definition: param.h:65
int parameter_set(char param, char id, long long int value64)
Definition: param.c:384
struct _parameters Parameters
void param_update_loop_cleanup(void *data)
Definition: param.c:1012
int set_paramptr(FILE *paramfile)
Definition: param.c:454
int num_motor_enable
Definition: param.h:86
#define YP_PARAM_MAX_MOTOR_NUM
Definition: ypparam.h:456
void param_update(void *filename)
Definition: param.c:1017
int device_version_age
Definition: param.h:88
int motor_enable[YP_PARAM_MAX_MOTOR_NUM]
Definition: param.h:85
int port
Definition: param.h:79
ParamOutputLv output_lv
Definition: param.h:82
int state(YPSpur_state id)
Definition: param.c:64
int set_param_motor(void)
Definition: param.c:1198
int device_version
Definition: param.h:87
int isset_p(YPSpur_param id, enum motor_id motor)
Definition: param.c:84
int set_param(char *filename, char *concrete_path)
Definition: param.c:933
void disable_state(YPSpur_state id)
Definition: param.c:74
int arg_analyze(int argc, char *argv[])
Definition: param.c:175
ParametersPtr get_param_ptr()
Definition: param.c:111
ParamOptions option
Definition: param.h:81
void init_param_update_thread(pthread_t *thread, char *filename)
Definition: param.c:1003
motor_id
Definition: ypparam.h:451
int parameter_applying
Definition: param.h:89
struct _parameters * ParametersPtr
Definition: param.h:73
int msq_key
Definition: param.h:78
void arg_help(int argc, char *argv[])
Definition: param.c:120
int does_option_set(ParamOptions option)


yp-spur
Author(s):
autogenerated on Fri May 7 2021 02:12:17