Christopher Haster
018e2571e6
Added other attributes on supported compilers
...
tested on GCC, Clang, online compiler, and IAR
attributes
- PACK
- ALIGN
- UNUSED
- WEAK
- PURE
- FORCEINLINE
- NORETURN
- UNREACHABLE
- DEPRECATED
2016-05-16 18:59:23 -05:00
Christopher Haster
f05240b666
Added attribute tests from compiler-polyfill
...
from https://github.com/ARMmbed/compiler-polyfill/tree/master/test/attributes
2016-05-16 14:27:54 -05:00
Christopher Haster
8381fda624
Merged compiler-polyfill into toolchain.h
...
from https://github.com/armmbed/compiler-polyfill
notes
- Adopted existing mbed naming convention of all caps.
This avoids conflicts with compiler declarations
https://github.com/ARMmbed/compiler-polyfill/issues/7
- Dropped align attribute due to lack of support on IAR.
- Currently toolchain.h lives in /hal/api, although with
the addition of /util there may be a better home.
2016-05-16 14:02:46 -05:00
Sam Grove
cde78ec095
Merge pull request #94 from geky/callback
...
Improve FunctionPointer class
2016-05-16 10:24:47 -07:00
Christopher Haster
dd6a24b76d
Adopt Callback class in NetworkSocketAPI
2016-05-16 11:48:09 -05:00
Sam Grove
b7cdc204fd
Merge pull request #88 from geky/nsapi-changes
...
Update Network Socket API
2016-05-16 09:21:15 -07: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
e1c42a3afc
Adopt Callback class in rtos Threads
2016-05-13 19:07:45 -05:00
Christopher Haster
4984077d07
Adopt Callback class in hal
2016-05-13 19:07:45 -05:00
Christopher Haster
bf498de127
Add backward compatiblity for FunctionPointer class using Callback
...
effectively:
typedef Callback<R(A)> FunctionPointerArg1<R,A>
typedef Callback<R()> FunctionPointerArg1<R,void>
typedef Callback<R()> FunctionPointer
typedef Callback<R()> event_callback_t
2016-05-13 19:07:45 -05:00
Christopher Haster
8b330ae8a6
Add callback tests
2016-05-13 19:07:45 -05:00
Christopher Haster
8e42a32d00
Add Callback, an improved FunctionPointer class
...
- Adopt C++11 style template arguments, requires rename to Callback
- Add constructor for C style callback functions
- Add constructor for Callbacks
- Add static function for passing to C style callbacks
2016-05-13 19:07:45 -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
Anna Bridge
cd4172a80b
Merge branch 'master' of https://github.com/ARMmbed/mbed-os
2016-05-13 14:27:05 +01:00
Anna Bridge
878ce59fa3
Updated utest ticker scheduler to use the c++ Timeout class rather than
...
the C based function calls directly into ticker.
Added a software based backtrace functionality, plus utest instrumentation
using that functionality.
2016-05-13 14:09:55 +01:00
Bogdan Marinescu
451b8c3a22
Merge pull request #79 from geky/thread-lifetime
...
Add lifetime management to rtos::Thread
2016-05-12 18:16:42 +03:00
Niklas Hauser
8a37762866
Smaller Thread class with clearer error messages.
2016-05-10 16:07:39 +01:00
Sam Grove
9c38f2aa63
Merge pull request #85 from bridadan/build-tests-fix
...
Fixing build issues for tests
2016-05-10 09:31:29 -05:00
Brian Daniels
4ae7d54830
Fixing build issues for tests.
...
Build artifacts from previous builds were polluting the current build. Now
shared sources are built as a library, then tests are built into their own
folder.
2016-05-10 14:53:35 +01:00