Commit Graph

59 Commits (6e4d74bc24554e16b61fc557491e4d514eb4b1e5)

Author SHA1 Message Date
Martin Kojtal 08ecdb296b Merge pull request #139 from geky/callback-fixes
Small fixes for issues with Callback class
2016-05-27 09:14:02 +01:00
geky 11baa9dce0 Merge pull request #144 from devran01/master
Incrase netif_up semaphore timeout from 1500ms to 2500ms
2016-05-26 10:46:30 -05:00
Russ Butler bd3ad9d6ff Remove mirror repos
Remove all of the repos which are being automatically mirrored.  The
addition of .mbedignore allows these repos to be used directly.

Also pull up on nanostack-hal-mbed-cmsis-rtos.lib to bring in new
features required by the updated repos.
2016-05-26 09:29:20 -05:00
Devaraj Ranganna 506d63e8b7 Incrase netif_up semaphore timeout from 1500ms to 2500ms 2016-05-26 11:18:45 +01:00
Christopher Haster 753720af56 Fixed ambigous function declarations in serial class
Caused by default argument and overly generalized templated types.

SerialBase::attach(T *obj, M method, IrqType type=RxIrq)
->
SerialBase::attach(T *obj, void (T::*method)(), IrqType type=RxIrq)
SerialBase::attach(T *obj, void (*method)(T*), IrqType type=RxIrq)
2016-05-25 15:24:54 -05:00
Russ Butler a4355ce81a Fix atmel-rf-driver to use mirror repo SHA
The atmel-rf-driver-mirror repo is pointing to a SHA in the
atmel-rf-driver repo.  This prevents mbed-os from building.
This patch updates atmel-rf-driver.lib to point to the correct
SHA.
2016-05-25 09:01:48 -05:00
Russ Butler 14e235ae46 Update libraries for IAR support
Pull up on libraries so they support IAR.
2016-05-24 14:38:34 -05:00
Russ Butler 960941cb0a Add IAR support
Make the following changes for IAR support:
-define __deprecated_message for IAR
-fix python error in iar.py
-move variable length array in buffered serial from cpp file to c file.
    IAR only supports variable length arrays in c.
2016-05-24 14:37:14 -05:00
Sam Grove 02a23c22ad Merge pull request #103 from geky/esp8266-non-blocking
Add non-blocking support to ESP8266Interface
2016-05-20 16:03:40 -05:00
Russ Butler e920f247bf Update mbed-client repos
Update the mbed-client repos to bring in the latest changes.  With
this PR the mbed-client repos now point to commits mirrored from
the real repo rather than a morpheus fork.
2016-05-18 09:42:59 -05:00
Sam Grove 7d541a9cbd Merge pull request #104 from theotherjimmy/buffered-serial-printf
removed warning about unsigned to signed cast
2016-05-18 02:02:59 -05:00
Jimmy Brisson 59ed1bef61 removed warning about unsigned to signed cast 2016-05-17 13:35:24 -05:00
Russ Butler 64cd1f3dfb Fix SocketAddress constructor to support ipv6
Fix typo causing ipv6 addresses in the constructor to fail.
2016-05-17 08:24:10 -05:00
Christopher Haster 4f8e8f5d75 Add non-blocking support to ESP8266Interface
requires changes in the following
- BufferedSerial
- ESP8266
- ESP8266Interface
2016-05-16 20:40:57 -05:00
Christopher Haster dd6a24b76d Adopt Callback class in NetworkSocketAPI 2016-05-16 11:48:09 -05:00
Russ Butler b15e2c293e Add synchronization to the network socket API
Add mutexes to protect the network socket API.  Also use semaphores to
wait for read/write events.  Also fix a typo in the comments for
timeout.
2016-05-15 18:03:48 -05:00
Russ Butler c8fc4dff6d Update Nanostack related libs
Update library files related to Nanostack to bring in Network Socket
API support.
2016-05-15 18:03:40 -05:00
Christopher Haster 83f65c0d3a Add rudimentary support for server side
mirrored from:
https://developer.mbed.org/teams/NetworkSocketAPI/code/LWIPInterface/
2016-05-13 11:41:20 -05:00
Christopher Haster 9e415df196 Match changes to NSAPI in LWIPInterface
mirrored from:
https://developer.mbed.org/teams/NetworkSocketAPI/code/LWIPInterface/
2016-05-13 11:41:19 -05:00
Christopher Haster 4684173778 Match changes to NSAPI in ESP8266Interface
mirrored from:
https://developer.mbed.org/teams/components/code/ESP8266Interface/
2016-05-13 11:41:18 -05:00
Christopher Haster 7d9b5e6f76 Small bug fixes
mirrored from:
https://developer.mbed.org/teams/NetworkSocketAPI/code/NetworkSocketAPI/

- Fix bug with SocketAddress init per @c1728p9
- Fix issue with not passing interface through accept call
- Fix port issue in SocketAddress constructor
2016-05-13 11:41:17 -05:00
Christopher Haster 8304124a63 Add NSAPI_ERROR_PARAMETER
per @c1728p9
2016-05-13 11:41:16 -05:00
Christopher Haster bcab0fcef5 Added WFI to save power in temporary polling implementation 2016-05-13 11:41:15 -05:00
Christopher Haster 5475dd0404 Consolidate set_timeout/set_blocking behaviour
- Avoids ambiguity when both are used
- Matches Python behaviour
2016-05-13 11:41:14 -05:00
Christopher Haster d17fa4faad Separate Stack/Interface concept into two distinct classes 2016-05-13 11:41:13 -05:00
Christopher Haster 49ba2be3a7 Add standardized stack options 2016-05-13 11:41:11 -05:00
Christopher Haster 893dfec7e6 Added workaround for bug in newlib sscanf
https://bugs.launchpad.net/gcc-arm-embedded/+bug/1399224
2016-05-13 11:41:10 -05:00
Russ Butler 57de57efc5 Update libraries to match the latest NSAPI
Update the library references for mbed-client-classic and
sal-iface-6lowpan-morpheus-private.
2016-05-13 11:41:09 -05:00
Christopher Haster f4526e5b73 Fix race condition in socket close 2016-05-13 11:41:08 -05:00
Christopher Haster 16929af278 Rename Interface -> Stack
NetworkInterface  -> NetworkStack
EthernetInterface -> EthernetStack
WiFiInterface     -> WiFiStack
CellularInterface -> CellularStack
MeshInterface     -> MeshStack
2016-05-13 11:41:07 -05:00
Christopher Haster 55f7d29fc3 Revised documentation for Interface classes 2016-05-13 11:41:06 -05:00
Christopher Haster d43f8706d3 Revisited documentation for Socket API 2016-05-13 11:41:05 -05:00
Christopher Haster eab6d775ac Removed is_connected function
- Not supported by TCP/UDP protocols
- Uncommon and less useful with proper error handling
2016-05-13 11:41:04 -05:00
Christopher Haster 50a9143478 Revisited documentation for NetworkInterface specific methods 2016-05-13 11:41:03 -05:00
Christopher Haster 59549cb4df Standardized comment style 2016-05-13 11:41:02 -05:00
Christopher Haster e762b04f64 Added support for shortened form ipv6 addresses
supported:
    1.2.3.4
    1:2:3:4:5:6:7:8
    1:2::7:8
    ::

currently not supported:
    1:2:3:4:5:6:1.2.3.4
2016-05-13 11:41:01 -05:00
Christopher Haster 525c7b361c Revised stack specific configurations
Adds the following functions for direct configuration of interface
- (set|get)stackopt
- (set|get)sockopt
2016-05-13 11:41:00 -05:00
Christopher Haster c4506dc1c0 Move bind to Socket
Bind can operate on any IP socket and is not specific to a protocol
2016-05-13 11:40:59 -05:00
Russ Butler fa45131245 Fix ipv6 addr in SocketAddress
Correctly set and return the ipv6 address.
2016-05-13 11:40:58 -05:00
Christopher Haster 141b245dfc Added better support for SocketAddress/string addresses/ports 2016-05-13 11:40:57 -05:00
Christopher Haster d488f02f5e Move to SocketAddress in gethostbyname 2016-05-13 11:40:55 -05:00
Christopher Haster 62bb777c1f Added support for storing bytes directly in SocketAddress
Bytes are stored by default, however enough space is allocated in
a SocketAddress to generate the string representation if necessary.

Currently there is no support for shortened addresses
2016-05-13 11:40:54 -05:00
Christopher Haster 455f023949 Renamed NetworkInterface create/destroy methods to match Socket methods
- socket_create -> socket_open
- socket_destroy -> socket_close
2016-05-13 11:40:53 -05:00
Christopher Haster c33d246fa6 Move to single state-change interrupt
Pros
- Easier to implement
- More similar to SIGIO in BDS sockets

Cons
- Less information, but this information had a high risk of being
  faulty/spurious
2016-05-13 11:40:52 -05:00
Christopher Haster c3eec0322b Remove shutdown parameter from close call
Pros
- Simplifies interface
- Easier base implementation

Cons
- May need shutdown functionality, in this case shutdown
  can be added as another function in the future
2016-05-13 11:40:51 -05:00
Christopher Haster 71efccb1e8 Add open call as alternative to passing NetworkInterface at construction
Pros
- Allows memory to be statically allocated
- Avoids issues with Thread creation before entering main
- Matches existing APIs such as FunctionPointer and Ticker

Cons
- Does not enforce passing a NetworkInterface
2016-05-13 11:40:50 -05:00
Christopher Haster 106e459a64 Adopt mbed style doxygen comments
per @0xc0170
2016-05-13 11:40:49 -05:00
Christopher Haster f0f7972a64 Move to asynch lwip sockets based on armmbed/sal-stack-lwip
Move the backend of LWIPInterface from the LWIP socket API to the
asynch UDP/TCP APIs used in https://github.com/armmbed/sal-stack-lwip.
Provides asynchronous functionality for the LWIPInterface.
2016-05-13 11:40:48 -05:00
Martin Kojtal 1524c5fca9 lwip - fix size of sys mutex for RTX 4.79
The size was increased to 4 bytes. Thanks @c1728p9 for spotting this.
2016-04-14 21:47:17 +01:00
Russ Butler 98a8c49f00 Add mesh interface header file
Add the mesh interface header file.
2016-04-10 23:37:23 -05:00