Commit Graph

2272 Commits (9e03b24120f91aba87dc36d45b0af6cd18ba5ae3)

Author SHA1 Message Date
Christopher Haster 9e03b24120 littlefs: Fixed lookahead overflow and removed unbounded lookahead pointers
As pointed out by davidefer, the lookahead pointer modular arithmetic
does not work around integer overflow when the pointer size is not a
multiple of the block count.

To avoid overflow problems, the easy solution is to stop trying to
work around integer overflows and keep the lookahead offset inside the
block device. To make this work, the ack was modified into a resetable
counter that is decremented every block allocation.

As a plus, quite a bit of the allocation logic ended up simplified.
2018-04-11 22:34:40 -05:00
Christopher Haster 47bee2343c littlefs: Fixed issue with lookahead trusting old lookahead blocks
One of the big simplifications in littlefs's implementation is the
complete lack of tracking free blocks, allowing operations to simply
drop blocks that are no longer in use.

However, this means the lookahead buffer can easily contain outdated
blocks that were previously deleted. This is usually fine, as littlefs
will rescan the storage if it can't find a free block in the lookahead
buffer, but after changes that caused littlefs to more conservatively
respect the alloc acks (e611cf5), any scanned blocks after an ack would
be incorrectly trusted.

The fix is to eagerly scan ahead in the lookahead when we allocate so
that alloc acks are better able to discredit old lookahead blocks. Since
usually alloc acks are tightly coupled to allocations of one or two blocks,
this allows littlefs to properly rescan every set of allocations.

This may still be a concern if there is a long series of worn out
blocks, but in the worst case littlefs will conservatively avoid using
blocks it's not sure about.

Found by davidefer
2018-04-11 14:41:01 -05:00
Cruz Monrreal 1c6d485da0
Merge pull request #6572 from TeemuKultala/at_send_wait
cellular: ATHandler send delay
2018-04-10 17:58:00 -05:00
Martin Kojtal 495ae06c70
Merge pull request #6509 from k-stachowiak/nvseed-check
Add an NV_SEED test to the config adjustment script
2018-04-10 14:38:47 +02:00
Kevin Bracey 96610a6aed LoRa: Improved region macro handling 2018-04-09 15:22:48 +03:00
Teemu Kultala 328919c852 cellular: doxygen correction 2018-04-09 14:09:44 +03:00
Teemu Kultala d7960620b6 cellular: ATHandler send delay 2018-04-09 13:46:40 +03:00
Antti Kauppila 1a86bb3604 Removed default values from internal functions
- Also removed useless else from loraphy_target.h
2018-04-09 13:30:08 +03:00
Antti Kauppila db167af3c1 LoRa: Fixed doxygen error, enabled commented out code 2018-04-09 11:48:03 +03:00
Antti Kauppila fa062fff76 LoRa: Moved connect logic from LoRaWANStack to LoRaMac class
- Internal change only
2018-04-09 11:10:40 +03:00
Antti Kauppila 1310392d1b LoRa: Removed unneeded function and cleaned up some code 2018-04-09 11:10:40 +03:00
Antti Kauppila d1bbd21e01 LoRa: Improved handling of region selection
- This implements IOTCELL-697
- This touches API, but does not break it, old ones still work in a same manner!
2018-04-09 11:10:40 +03:00
Martin Kojtal 65ac615d2d
Merge pull request #6557 from AnttiKauppila/IOTCELL-754
LoRa: Fixed cflist decoding issue
2018-04-06 16:40:18 +02:00
Martin Kojtal f5385e7a14
Merge pull request #6524 from forGGe/fix_address_parsing_
Fix IPv4 address parsing due to not-so-portable scanf modifier
2018-04-06 12:26:37 +02:00
Martin Kojtal f331ac34c4
Merge pull request #6402 from u-blox/cellular_test_target
Renaming Ublox library for mbed cellular framework
2018-04-06 12:19:58 +02:00
Antti Kauppila 6ef331b9db LoRa: Fixed cflist decoding issue
- This fixes defect IOTCELL-754
2018-04-06 12:54:01 +03:00
Martin Kojtal 02d4631c13
Merge pull request #6528 from anttiylitokola/mbed_coap_4.4.1
Update mbed-coap to version 4.4.1
2018-04-06 10:05:39 +02:00
Cruz Monrreal 75cb4d7512
Merge pull request #6411 from AnttiKauppila/stack_refactoring
Stack refactoring
2018-04-04 10:26:55 -05:00
Antti Kauppila 10ad173091 LoRa: Small fixes
- changed few static variables to have const
2018-04-03 14:58:01 +03:00
Antti Yli-Tokola 8fdae13642 Update mbed-coap to version 4.4.1
- Fixes error: IOTCLT-2539 Block wise messaging call-backs not working logically
- Allow TCP+TLS transport method to send larger messages without blockwising.

NOTE! These are internal changes required for cloud client. This has no direct relevance to any mbed-os functionality.
2018-04-03 13:58:40 +03:00
Max Payne bd47110554 Fix IPv4 address parsing due to not-so-portable scanf modifier
Bug is raised when using newlib-based toolchains.
%hh format is only avaliable in scanf if newlib is compiled
with _WANT_IO_C99_FORMATS option.
2018-04-02 23:33:21 +03:00
Marcus Chang 791e42eefe Inrease thread stack size to 1024 bytes in NVStore test for NRF52 2018-03-30 11:32:55 -07:00
Jimmy Brisson 2429d5e042
Merge pull request #6494 from donatieng/securitydb_fix_casing
[BLE] Fixed inconsistent casing issue for SecurityDb
2018-03-29 12:00:36 -05:00
Jimmy Brisson 64df0ddee8
Merge pull request #6408 from davidsaada/david_erase_size_addr
Add overloaded get_erase_size API with address parameter to BlockDevice
2018-03-29 11:59:28 -05:00
Krzysztof Stachowiak ebb28b32af Move the new check into the end of the previous line 2018-03-29 15:07:29 +02:00
Krzysztof Stachowiak 717573f44e Add an NV_SEED test to the config adjustment script 2018-03-29 11:53:50 +02:00
Donatien Garnier 8b66c4bd28 [BLE] Fixed inconsistent casing issue for SecurityDb 2018-03-28 10:44:09 +01:00
Bilal c376e501aa Moving deprecated warnings outside the class 2018-03-27 12:55:38 +05:00
Cruz Monrreal 062164eaad
Merge pull request #6452 from ARMmbed/revert-6086-gatt-client-unit-tests
Revert "BLE: Gatt client unit tests"
2018-03-26 14:33:52 -05:00
Cruz Monrreal 26737580ce
Merge pull request #6313 from SeppoTakalo/doxygen
Add missing Doxygen descriptions for Nanostack
2018-03-26 14:28:51 -05:00
Cruz Monrreal 57b48f6e05
Merge pull request #6416 from kjbracey-arm/lwip_netconntype_fix
lwIP: fix some IPv6 errors, eg TCP keepalive
2018-03-26 14:27:09 -05:00
Bilal c07ef92470 Adding deprecated warnings for old name 2018-03-26 19:34:42 +05:00
mudassar-ublox eb806b681d Renaming Ublox library for mbed cellular framework
(cherry picked from commit 737609736591d12ea369d5b364d132e7a6367ae2)
2018-03-26 17:08:23 +05:00
Martin Kojtal afeb3066c3
Revert "BLE: Gatt client unit tests" 2018-03-26 11:51:29 +01:00
Cruz Monrreal 6dc0c9d6c3
Merge pull request #6388 from davidsaada/david_nvstore_set_alloc_key
NVStore: key management enhancements
2018-03-23 11:03:53 -05:00
Cruz Monrreal 387027dddb
Merge pull request #6086 from pan-/gatt-client-unit-tests
BLE: Gatt client unit tests
2018-03-23 10:56:09 -05:00
David Saada a6048005d7 Add overloaded get_erase_size API with address parameter to all block devices 2018-03-23 00:34:45 +02:00
Kimmo Vaisanen c1983570b4 Fix compilance test compilation
Fix compilation of compilance test and at the same time refactor compliance
test handler. Renamed mcps_request as test_request as it is only used for
compliance test. Also fixed a bug with null buffer in send_compliance_test_frame_to_mac.
2018-03-21 14:39:18 +02:00
Seppo Takalo fbea6f15e2 Add missing Doxygen descriptions for Nanostack
Fix couple of parameter issues as well.
2018-03-21 14:15:28 +02:00
Kevin Bracey b3eb51acef lwIP: fix some IPv6 errors, eg TCP keepalive
Glue code was inspecting lwIP's netconn "type", checking directly for
NETCONN_UDP and NETCONN_TCP.

Unfortunately the type byte has some flag bits like
"IPv6", which means the tests fail if it's an IPv6 socket. So, for
example, TCP socket options were rejected for IPv6.

Add the necessary NETCONNTYPE_GROUP macros to fix this.
2018-03-21 13:40:25 +02:00
Antti Kauppila cbdeb7dc4b LoRa: Added API break warnings for lorawan_channelplan_t struct and it's components 2018-03-21 08:54:42 +02:00
Antti Kauppila dc98228139 LoRa: Struct cleanups
- Unneeded structs removed and replaced by variables in functions
2018-03-21 08:54:42 +02:00
Antti Kauppila 489eecf7df LoRa: LoRaMAC class refactored
- Internal change only, no functional changes
- Tested by running Green tea tests manually
2018-03-21 08:54:42 +02:00
Antti Kauppila 6b54478af4 LoRaWANStack is made independent of MAC sublayers
- Only internal changes, no API has been broke.
- Tested by manually running Green tea tests
2018-03-21 08:54:42 +02:00
Antti Kauppila b63c98e103 LoRa: LoRaPHY dependency removed from LoRaMacStack
- This is internal change, no functionality has been changed
- LoRaWanInterface cleaned up and code moved to LoRaMacStack
- Compliance code in LoRaMacStack moved to EOF
- Green tea tests have been run manually
- Doxygen updated accordingly

LoRA: reorder class members
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen fe225a8430 Remove redundant event from timer callbacks
Since our timers are now already using events, we no longer need to
defer timer callback calls.
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen c6eee4fd98 Simplify check for pending bit 2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 32075b91b5 Fix reception of class C messages
- Do not put radio into sleep when message is received in class c mode
- Experimental feature for acknowledging confirmed downlink messages
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen a26fca8bf5 Add set_device_class API to change active device class
This API can be used to runtime change device class.

Please note that only class A and C are supported at the moment.
Trying to set class B will return LORAWAN_STATUS_UNSUPPORTED.

Fix set_device_class documentation

fix documentation
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 4aba3434f4 Change minimum required channels from 6 to 2 (US915Hybrid)
https://github.com/Lora-net/LoRaMac-node/issues/362
2018-03-21 08:54:42 +02:00