Ignore:
Timestamp:
Mar 28, 2016, 2:09:46 PM (8 years ago)
Author:
ertl-honda
Message:

ライブラリを Arduino IDE 1.7.9 にupdate

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rtos_arduino/trunk/arduino_lib/hardware/arduino/samd/libraries/Wire/Wire.h

    r136 r175  
    11/*
    2  * TwoWire.h - TWI/I2C library for Arduino Due
    3  * Copyright (c) 2011 Cristian Maglie <c.maglie@bug.st>.
    4  * All rights reserved.
     2 * TWI/I2C library for Arduino Zero
     3 * Copyright (c) 2015 Arduino LLC. All rights reserved.
    54 *
    65 * This library is free software; you can redistribute it and/or
     
    2221#define TwoWire_h
    2322
    24 //#include <include/twi.h>
    25 
    2623#include "Stream.h"
    2724#include "variant.h"
     
    3229#define BUFFER_LENGTH 32
    3330
     31 // WIRE_HAS_END means Wire has end()
     32#define WIRE_HAS_END 1
    3433
    3534class TwoWire : public Stream
    3635{
    37         public:
    38                 TwoWire(SERCOM *s);
    39                 void begin();
    40                 void begin(uint8_t);
     36  public:
     37    TwoWire(SERCOM *s, uint8_t pinSDA, uint8_t pinSCL);
     38    void begin();
     39    void begin(uint8_t);
     40    void end();
     41    void setClock(uint32_t);
    4142
    42                 void beginTransmission(uint8_t);
    43                 uint8_t endTransmission(bool stopBit);
    44                 uint8_t endTransmission(void);
     43    void beginTransmission(uint8_t);
     44    uint8_t endTransmission(bool stopBit);
     45    uint8_t endTransmission(void);
    4546
    46                 uint8_t requestFrom(uint8_t address, size_t quantity, bool stopBit);
    47                 uint8_t requestFrom(uint8_t address, size_t quantity);
     47    uint8_t requestFrom(uint8_t address, size_t quantity, bool stopBit);
     48    uint8_t requestFrom(uint8_t address, size_t quantity);
    4849
    49                 size_t write(uint8_t data);
    50                 size_t write(const uint8_t * data, size_t quantity);
     50    size_t write(uint8_t data);
     51    size_t write(const uint8_t * data, size_t quantity);
    5152
    52                 virtual int available(void);
    53                 virtual int read(void);
    54                 virtual int peek(void);
    55                 virtual void flush(void);
    56                 void onReceive(void(*)(int));
    57                 void onRequest(void(*)(void));
     53    virtual int available(void);
     54    virtual int read(void);
     55    virtual int peek(void);
     56    virtual void flush(void);
     57    void onReceive(void(*)(int));
     58    void onRequest(void(*)(void));
    5859
    59                 using Print::write;
     60    using Print::write;
    6061
    61                 void onService(void);
     62    void onService(void);
    6263
    63         private:
    64                 SERCOM * sercom;
    65                 bool transmissionBegun;
     64  private:
     65    SERCOM * sercom;
     66    uint8_t _uc_pinSDA;
     67    uint8_t _uc_pinSCL;
    6668
    67                 // RX Buffer
    68                 RingBuffer rxBuffer;
     69    bool transmissionBegun;
    6970
    70                 //TX buffer
    71                 RingBuffer txBuffer;
    72                 uint8_t txAddress;
     71    // RX Buffer
     72    RingBuffer rxBuffer;
     73
     74    //TX buffer
     75    RingBuffer txBuffer;
     76    uint8_t txAddress;
    7377
    7478
    75                 // Service buffer
    76                 //uint8_t srvBuffer[BUFFER_LENGTH];
    77                 //uint8_t srvBufferIndex;
    78                 //uint8_t srvBufferLength;
     79    // Service buffer
     80    //uint8_t srvBuffer[BUFFER_LENGTH];
     81    //uint8_t srvBufferIndex;
     82    //uint8_t srvBufferLength;
    7983
    80                 // Callback user functions
    81                 void (*onRequestCallback)(void);
    82                 void (*onReceiveCallback)(int);
     84    // Callback user functions
     85    void (*onRequestCallback)(void);
     86    void (*onReceiveCallback)(int);
    8387
    84                 // TWI state
    85                 //enum TwoWireStatus
     88    // TWI state
     89    //enum TwoWireStatus
    8690    //{
    87                 //      UNINITIALIZED,
    88                 //      MASTER_IDLE,
    89                 //      MASTER_SEND,
    90                 //      MASTER_RECV,
    91                 //      SLAVE_IDLE,
    92                 //      SLAVE_RECV,
    93                 //      SLAVE_SEND
    94                 //};
    95                 //TwoWireStatus status;
     91    //  UNINITIALIZED,
     92    //  MASTER_IDLE,
     93    //  MASTER_SEND,
     94    //  MASTER_RECV,
     95    //  SLAVE_IDLE,
     96    //  SLAVE_RECV,
     97    //  SLAVE_SEND
     98    //};
     99    //TwoWireStatus status;
    96100
    97                 // TWI clock frequency
    98                 static const uint32_t TWI_CLOCK = 100000;
     101    // TWI clock frequency
     102    static const uint32_t TWI_CLOCK = 100000;
    99103
    100                 // Timeouts
    101                 //static const uint32_t RECV_TIMEOUT = 100000;
    102                 //static const uint32_t XMIT_TIMEOUT = 100000;
     104    // Timeouts
     105    //static const uint32_t RECV_TIMEOUT = 100000;
     106    //static const uint32_t XMIT_TIMEOUT = 100000;
    103107};
    104108
    105 extern TwoWire Wire;
     109#if WIRE_INTERFACES_COUNT > 0
     110  extern TwoWire Wire;
     111#endif
     112#if WIRE_INTERFACES_COUNT > 1
     113  extern TwoWire Wire1;
     114#endif
     115#if WIRE_INTERFACES_COUNT > 2
     116  extern TwoWire Wire2;
     117#endif
     118#if WIRE_INTERFACES_COUNT > 3
     119  extern TwoWire Wire3;
     120#endif
     121#if WIRE_INTERFACES_COUNT > 4
     122  extern TwoWire Wire4;
     123#endif
     124#if WIRE_INTERFACES_COUNT > 5
     125  extern TwoWire Wire5;
     126#endif
    106127
    107128#endif
Note: See TracChangeset for help on using the changeset viewer.