![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
lkdfjlakdjsflasdkjflkjasdlxkfghskjdmfnvcm,a wejdfkjadsb cvljdgacus;b faLRFBhetg;8bdvan;/IHgtnudihdgrg;a/wlhrfp;ouitdscagjh
Dependencies: mbed
Fork of display_nums2 by
stepper.cpp@5:10c020b45c1f, 2018-04-02 (annotated)
- Committer:
- billymark
- Date:
- Mon Apr 02 20:49:10 2018 +0000
- Revision:
- 5:10c020b45c1f
- Parent:
- 4:a01cf485b9d9
fasdjkfha;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
billymark | 1:3d6796759d45 | 1 | #include <io_pins.h> |
billymark | 1:3d6796759d45 | 2 | #include <stepper.h> |
billymark | 1:3d6796759d45 | 3 | #include <mbed.h> |
billymark | 1:3d6796759d45 | 4 | #include <stdlib.h> |
billymark | 4:a01cf485b9d9 | 5 | #include <spi_fix.h> |
billymark | 4:a01cf485b9d9 | 6 | |
billymark | 4:a01cf485b9d9 | 7 | |
billymark | 5:10c020b45c1f | 8 | Serial pc2(USBTX, USBRX); |
billymark | 4:a01cf485b9d9 | 9 | |
billymark | 4:a01cf485b9d9 | 10 | spi_cfg DRV8806 = { |
billymark | 4:a01cf485b9d9 | 11 | DRV8806_ID, //ID should be unique for each slave type |
billymark | 4:a01cf485b9d9 | 12 | STP_DRV8806_NCS, //The pin driving the slave's chip select |
billymark | 1:3d6796759d45 | 13 | DRV8806_MODE, //mode |
billymark | 1:3d6796759d45 | 14 | DRV8806_FREQ, //frequency |
billymark | 4:a01cf485b9d9 | 15 | DRV8806_BITS //num of bits |
billymark | 1:3d6796759d45 | 16 | |
billymark | 4:a01cf485b9d9 | 17 | }; |
billymark | 1:3d6796759d45 | 18 | static int stepper_pos[4] = {0x03, 0x06, 0x0c, 0x09}; |
billymark | 1:3d6796759d45 | 19 | static int stp_index = 0; |
billymark | 1:3d6796759d45 | 20 | |
billymark | 1:3d6796759d45 | 21 | void stp_init(){ |
billymark | 4:a01cf485b9d9 | 22 | spi_send(DRV8806, stepper_pos[stp_index]); |
billymark | 1:3d6796759d45 | 23 | |
billymark | 1:3d6796759d45 | 24 | } |
billymark | 1:3d6796759d45 | 25 | void stp_step(int direction){ |
billymark | 1:3d6796759d45 | 26 | if (direction == STP_CW){ |
billymark | 1:3d6796759d45 | 27 | if (stp_index<3){ |
billymark | 1:3d6796759d45 | 28 | stp_index+=1; |
billymark | 1:3d6796759d45 | 29 | } |
billymark | 5:10c020b45c1f | 30 | else |
billymark | 5:10c020b45c1f | 31 | stp_index = 0; |
billymark | 5:10c020b45c1f | 32 | } |
billymark | 1:3d6796759d45 | 33 | else if(direction == STP_CCW){ |
billymark | 1:3d6796759d45 | 34 | if (stp_index>0){ |
billymark | 4:a01cf485b9d9 | 35 | stp_index = stp_index-1; |
billymark | 1:3d6796759d45 | 36 | |
billymark | 1:3d6796759d45 | 37 | } |
billymark | 1:3d6796759d45 | 38 | else{ |
billymark | 1:3d6796759d45 | 39 | stp_index = 3; |
billymark | 1:3d6796759d45 | 40 | } |
billymark | 5:10c020b45c1f | 41 | |
billymark | 5:10c020b45c1f | 42 | |
billymark | 1:3d6796759d45 | 43 | |
billymark | 1:3d6796759d45 | 44 | |
billymark | 1:3d6796759d45 | 45 | } |
billymark | 5:10c020b45c1f | 46 | pc2.printf("%d \n", stepper_pos[stp_index]); |
billymark | 5:10c020b45c1f | 47 | spi_send(DRV8806, stepper_pos[stp_index]); |
billymark | 1:3d6796759d45 | 48 | |
billymark | 1:3d6796759d45 | 49 | } |
billymark | 1:3d6796759d45 | 50 |