abe takumi
/
abesshape
d
sshape.h@0:ee4e3ab4db45, 22 months ago (annotated)
- Committer:
- me33004m
- Date:
- Wed Nov 16 08:37:38 2022 +0000
- Revision:
- 0:ee4e3ab4db45
abesshape
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
me33004m | 0:ee4e3ab4db45 | 1 | #ifndef SSHAPE_H |
me33004m | 0:ee4e3ab4db45 | 2 | #define SSHAPE_H |
me33004m | 0:ee4e3ab4db45 | 3 | |
me33004m | 0:ee4e3ab4db45 | 4 | #include "stdio.h" |
me33004m | 0:ee4e3ab4db45 | 5 | #include "math.h" |
me33004m | 0:ee4e3ab4db45 | 6 | #include "time.h" |
me33004m | 0:ee4e3ab4db45 | 7 | #include "mbed.h" |
me33004m | 0:ee4e3ab4db45 | 8 | /* samplecode |
me33004m | 0:ee4e3ab4db45 | 9 | #include "stdio.h" |
me33004m | 0:ee4e3ab4db45 | 10 | #include "sshape.h" |
me33004m | 0:ee4e3ab4db45 | 11 | #include "mbed.h" |
me33004m | 0:ee4e3ab4db45 | 12 | #include "time.h" |
me33004m | 0:ee4e3ab4db45 | 13 | #include "stdlib.h" |
me33004m | 0:ee4e3ab4db45 | 14 | |
me33004m | 0:ee4e3ab4db45 | 15 | #define time 10 |
me33004m | 0:ee4e3ab4db45 | 16 | |
me33004m | 0:ee4e3ab4db45 | 17 | shape sshape(time); |
me33004m | 0:ee4e3ab4db45 | 18 | |
me33004m | 0:ee4e3ab4db45 | 19 | Serial pc(USBTX, USBRX, 115200); |
me33004m | 0:ee4e3ab4db45 | 20 | double pm(double num); |
me33004m | 0:ee4e3ab4db45 | 21 | |
me33004m | 0:ee4e3ab4db45 | 22 | int main(void){ |
me33004m | 0:ee4e3ab4db45 | 23 | double stickpoints = 10.0; |
me33004m | 0:ee4e3ab4db45 | 24 | double add = 0; |
me33004m | 0:ee4e3ab4db45 | 25 | while(1){ |
me33004m | 0:ee4e3ab4db45 | 26 | sshape.start(); |
me33004m | 0:ee4e3ab4db45 | 27 | double start = sshape.start(); |
me33004m | 0:ee4e3ab4db45 | 28 | |
me33004m | 0:ee4e3ab4db45 | 29 | while(1){ |
me33004m | 0:ee4e3ab4db45 | 30 | pc.printf("spend time : %4.2f ",sshape.shapeTime(start)); |
me33004m | 0:ee4e3ab4db45 | 31 | pc.printf("shape : %.2f Target : %.2f add : %.2f\r\n",sshape.compute(stickpoints,start,add),stickpoints,add); |
me33004m | 0:ee4e3ab4db45 | 32 | if(pm(stickpoints-add)*sshape.compute(stickpoints,start,add) >= pm(stickpoints-add)*stickpoints){ |
me33004m | 0:ee4e3ab4db45 | 33 | add = sshape.compute(stickpoints,start,add); |
me33004m | 0:ee4e3ab4db45 | 34 | pc.printf("aaaaaaaaaaaaaaddddddddddddd %f",add); |
me33004m | 0:ee4e3ab4db45 | 35 | break;} |
me33004m | 0:ee4e3ab4db45 | 36 | } |
me33004m | 0:ee4e3ab4db45 | 37 | for(int i=0; i<10; i++){ |
me33004m | 0:ee4e3ab4db45 | 38 | pc.printf("%f",add); |
me33004m | 0:ee4e3ab4db45 | 39 | } |
me33004m | 0:ee4e3ab4db45 | 40 | stickpoints = rand() % 257- 128;; |
me33004m | 0:ee4e3ab4db45 | 41 | } |
me33004m | 0:ee4e3ab4db45 | 42 | } |
me33004m | 0:ee4e3ab4db45 | 43 | double pm(double num){ |
me33004m | 0:ee4e3ab4db45 | 44 | return (num>0)-(num<0); |
me33004m | 0:ee4e3ab4db45 | 45 | } |
me33004m | 0:ee4e3ab4db45 | 46 | |
me33004m | 0:ee4e3ab4db45 | 47 | |
me33004m | 0:ee4e3ab4db45 | 48 | */ |
me33004m | 0:ee4e3ab4db45 | 49 | |
me33004m | 0:ee4e3ab4db45 | 50 | class shape { |
me33004m | 0:ee4e3ab4db45 | 51 | public: |
me33004m | 0:ee4e3ab4db45 | 52 | shape(double time); |
me33004m | 0:ee4e3ab4db45 | 53 | double compute(double stickpoints,double starttime,double add); |
me33004m | 0:ee4e3ab4db45 | 54 | double start(); |
me33004m | 0:ee4e3ab4db45 | 55 | double shapeTime(double starttime); |
me33004m | 0:ee4e3ab4db45 | 56 | double kasokudo(double time_s,double start_s,double points_s,double add_s); |
me33004m | 0:ee4e3ab4db45 | 57 | int pm(double num); |
me33004m | 0:ee4e3ab4db45 | 58 | private: |
me33004m | 0:ee4e3ab4db45 | 59 | double shapeS_m; |
me33004m | 0:ee4e3ab4db45 | 60 | double add_m; |
me33004m | 0:ee4e3ab4db45 | 61 | double time_tmp; |
me33004m | 0:ee4e3ab4db45 | 62 | double tmp; |
me33004m | 0:ee4e3ab4db45 | 63 | double time_c; |
me33004m | 0:ee4e3ab4db45 | 64 | double shapeSpeed; |
me33004m | 0:ee4e3ab4db45 | 65 | double time; |
me33004m | 0:ee4e3ab4db45 | 66 | clock_t start_m; |
me33004m | 0:ee4e3ab4db45 | 67 | }; |
me33004m | 0:ee4e3ab4db45 | 68 | #endif |