MacroRat / MouseCode

Dependencies:   ITG3200 QEI

Committer:
christine222
Date:
Thu May 18 02:52:22 2017 +0000
Revision:
21:9a6cb07bdcb6
Parent:
18:6a4db94011d3
better PID constants for forwardWallIR and added no wall encoder pid moveForwardEncoder() function that is used in forwardWallIR()

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sahilmgandhi 18:6a4db94011d3 1 /* mbed Microcontroller Library
sahilmgandhi 18:6a4db94011d3 2 * Copyright (c) 2006-2013 ARM Limited
sahilmgandhi 18:6a4db94011d3 3 *
sahilmgandhi 18:6a4db94011d3 4 * Licensed under the Apache License, Version 2.0 (the "License");
sahilmgandhi 18:6a4db94011d3 5 * you may not use this file except in compliance with the License.
sahilmgandhi 18:6a4db94011d3 6 * You may obtain a copy of the License at
sahilmgandhi 18:6a4db94011d3 7 *
sahilmgandhi 18:6a4db94011d3 8 * http://www.apache.org/licenses/LICENSE-2.0
sahilmgandhi 18:6a4db94011d3 9 *
sahilmgandhi 18:6a4db94011d3 10 * Unless required by applicable law or agreed to in writing, software
sahilmgandhi 18:6a4db94011d3 11 * distributed under the License is distributed on an "AS IS" BASIS,
sahilmgandhi 18:6a4db94011d3 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
sahilmgandhi 18:6a4db94011d3 13 * See the License for the specific language governing permissions and
sahilmgandhi 18:6a4db94011d3 14 * limitations under the License.
sahilmgandhi 18:6a4db94011d3 15 */
sahilmgandhi 18:6a4db94011d3 16 #include "drivers/SPISlave.h"
sahilmgandhi 18:6a4db94011d3 17
sahilmgandhi 18:6a4db94011d3 18 #if DEVICE_SPISLAVE
sahilmgandhi 18:6a4db94011d3 19
sahilmgandhi 18:6a4db94011d3 20 namespace mbed {
sahilmgandhi 18:6a4db94011d3 21
sahilmgandhi 18:6a4db94011d3 22 SPISlave::SPISlave(PinName mosi, PinName miso, PinName sclk, PinName ssel) :
sahilmgandhi 18:6a4db94011d3 23 _spi(),
sahilmgandhi 18:6a4db94011d3 24 _bits(8),
sahilmgandhi 18:6a4db94011d3 25 _mode(0),
sahilmgandhi 18:6a4db94011d3 26 _hz(1000000)
sahilmgandhi 18:6a4db94011d3 27 {
sahilmgandhi 18:6a4db94011d3 28 spi_init(&_spi, mosi, miso, sclk, ssel);
sahilmgandhi 18:6a4db94011d3 29 spi_format(&_spi, _bits, _mode, 1);
sahilmgandhi 18:6a4db94011d3 30 spi_frequency(&_spi, _hz);
sahilmgandhi 18:6a4db94011d3 31 }
sahilmgandhi 18:6a4db94011d3 32
sahilmgandhi 18:6a4db94011d3 33 void SPISlave::format(int bits, int mode) {
sahilmgandhi 18:6a4db94011d3 34 _bits = bits;
sahilmgandhi 18:6a4db94011d3 35 _mode = mode;
sahilmgandhi 18:6a4db94011d3 36 spi_format(&_spi, _bits, _mode, 1);
sahilmgandhi 18:6a4db94011d3 37 }
sahilmgandhi 18:6a4db94011d3 38
sahilmgandhi 18:6a4db94011d3 39 void SPISlave::frequency(int hz) {
sahilmgandhi 18:6a4db94011d3 40 _hz = hz;
sahilmgandhi 18:6a4db94011d3 41 spi_frequency(&_spi, _hz);
sahilmgandhi 18:6a4db94011d3 42 }
sahilmgandhi 18:6a4db94011d3 43
sahilmgandhi 18:6a4db94011d3 44 int SPISlave::receive(void) {
sahilmgandhi 18:6a4db94011d3 45 return(spi_slave_receive(&_spi));
sahilmgandhi 18:6a4db94011d3 46 }
sahilmgandhi 18:6a4db94011d3 47
sahilmgandhi 18:6a4db94011d3 48 int SPISlave::read(void) {
sahilmgandhi 18:6a4db94011d3 49 return(spi_slave_read(&_spi));
sahilmgandhi 18:6a4db94011d3 50 }
sahilmgandhi 18:6a4db94011d3 51
sahilmgandhi 18:6a4db94011d3 52 void SPISlave::reply(int value) {
sahilmgandhi 18:6a4db94011d3 53 spi_slave_write(&_spi, value);
sahilmgandhi 18:6a4db94011d3 54 }
sahilmgandhi 18:6a4db94011d3 55
sahilmgandhi 18:6a4db94011d3 56 } // namespace mbed
sahilmgandhi 18:6a4db94011d3 57
sahilmgandhi 18:6a4db94011d3 58 #endif