Date   

Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/2047 : !!DO NOT MERGE!! kernel v2: multi-tasking nanokernel, semaphores and timeouts

MERGED within last 24 hours:


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 3
[ZEP-453] Add support in SPI shim driver for DMA transfer mode
https://jira.zephyrproject.org/browse/ZEP-453

[ZEP-452] Add support in I2C shim driver for DMA transfer mode
https://jira.zephyrproject.org/browse/ZEP-452

[ZEP-451] Quark SE output by default redirected to IPM
https://jira.zephyrproject.org/browse/ZEP-451


UPDATED JIRA items within last 24 hours: 4
[ZEP-243] Create Wiki Structure for Boards
https://jira.zephyrproject.org/browse/ZEP-243

[ZEP-454] Add driver API reentrancy support to UART shim drivers
https://jira.zephyrproject.org/browse/ZEP-454

[ZEP-366] Linking with static libraries
https://jira.zephyrproject.org/browse/ZEP-366

[ZEP-423] Quark D2000 CRB documentation should include instructions to flash bootloader
https://jira.zephyrproject.org/browse/ZEP-423


CLOSED JIRA items within last 24 hours: 0

RESOLVED JIRA items within last 24 hours: 0


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/2499 : tests: test nano_fifo_put_list and nano_fifo_put_slist.
- https://gerrit.zephyrproject.org/r/2498 : nanokernel: add nano_fifo_put_list() APIs
- https://gerrit.zephyrproject.org/r/2500 : quarkd2000: warn of needing to flash ROM before starting
- https://gerrit.zephyrproject.org/r/2497 : samples: drivers: current_sensing: update tags testcase.ini

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/2047 : !!DO NOT MERGE!! kernel v2: multi-tasking nanokernel, semaphores and timeouts
- https://gerrit.zephyrproject.org/r/2431 : wdt : improve reentrancy of the wdt driver
- https://gerrit.zephyrproject.org/r/2485 : samples: Initial commit of the heartrate monitor
- https://gerrit.zephyrproject.org/r/2475 : pwm: Implement set period and duty cycle API, and fix Set value API
- https://gerrit.zephyrproject.org/r/2474 : pwm: Create API to use time units.
- https://gerrit.zephyrproject.org/r/2488 : uart: qmsi: Add driver API reentrancy support to UART shim driver
- https://gerrit.zephyrproject.org/r/2336 : sys_log: adds system log documentation page
- https://gerrit.zephyrproject.org/r/2314 : tests: fixed tags for testcases
- https://gerrit.zephyrproject.org/r/2348 : samples/task_profiler: fix crash when starting profiler
- https://gerrit.zephyrproject.org/r/2347 : samples/net/zperf: add task profiler support
- https://gerrit.zephyrproject.org/r/2349 : samples/task_profiler: remove "dump" logging

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/2492 : MAINTAINER: add maintainer component and reviewers
- https://gerrit.zephyrproject.org/r/2491 : MAINTAINER: updated Nordic MDK and Tinycypt maintainers files
- https://gerrit.zephyrproject.org/r/2494 : doc: removing unicode trade mark chars
- https://gerrit.zephyrproject.org/r/2495 : include: add reviewer: change to use complete change id
- https://gerrit.zephyrproject.org/r/2352 : nxp_kinetis: Add Kconfig options to select the SoC part number
- https://gerrit.zephyrproject.org/r/1997 : nios2: set initial stack pointer to the interrupt stack
- https://gerrit.zephyrproject.org/r/2264 : nios2: add flashing/debug scripts
- https://gerrit.zephyrproject.org/r/2263 : nios2: generate kernel image in Intel HEX format
- https://gerrit.zephyrproject.org/r/1995 : nios2: add arch/nios2/soc/<soc>/include to linker include path
- https://gerrit.zephyrproject.org/r/2452 : Bluetooth: GATT: Handle ccc cfg values correctly on disconnect
- https://gerrit.zephyrproject.org/r/2455 : nios2: implement irq_enable() and irq_disable()
- https://gerrit.zephyrproject.org/r/2454 : nios2.h: cleanup API
- https://gerrit.zephyrproject.org/r/2461 : nios2: set up common linker script for XIP and non-XIP
- https://gerrit.zephyrproject.org/r/2462 : sanitycheck: build for altera_max10 board
- https://gerrit.zephyrproject.org/r/2464 : nios2: Kconfig: remove some unused config options
- https://gerrit.zephyrproject.org/r/1996 : nios2: crt0: split into __start and __text_start
- https://gerrit.zephyrproject.org/r/2451 : nios2: implement nano_cpu_idle and nano_cpu_atomic_idle
- https://gerrit.zephyrproject.org/r/2346 : samples/task_profiler: modifications to ease integration
- https://gerrit.zephyrproject.org/r/2473 : include: add reviewers list: fix regex in email maintainer


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 1
[ZEP-449] Zephyr crashes in kernel fiber when passed stack variable
https://jira.zephyrproject.org/browse/ZEP-449


UPDATED JIRA items within last 24 hours: 6
[ZEP-243] Create Wiki Structure for Boards
https://jira.zephyrproject.org/browse/ZEP-243

[ZEP-228] File system interface designed after POSIX
https://jira.zephyrproject.org/browse/ZEP-228

[ZEP-249] nios2: Enable altera_max10 board in sanitycheck runs for nanokernel
https://jira.zephyrproject.org/browse/ZEP-249

[ZEP-434] Driver for HMC5883L magnetometer
https://jira.zephyrproject.org/browse/ZEP-434

[ZEP-156] PWM Set Value API behaves incorrectly
https://jira.zephyrproject.org/browse/ZEP-156

[ZEP-158] PWM Set Duty Cycle API does not work
https://jira.zephyrproject.org/browse/ZEP-158


CLOSED JIRA items within last 24 hours: 6
[ZEP-375] (Duplicate) CI should vote down and complain about bad commit messages
https://jira.zephyrproject.org/browse/ZEP-375

[ZEP-186] (Fixed) Add a new toolchain script for supporting ISSM with both IA32 and ARC
https://jira.zephyrproject.org/browse/ZEP-186

[ZEP-115] (Fixed) Create a new build to run all the test cases on a gerrit change.
https://jira.zephyrproject.org/browse/ZEP-115

[ZEP-380] (Fixed) Add reviewer to gerrit change based on mantainer file
https://jira.zephyrproject.org/browse/ZEP-380

[ZEP-175] (Fixed) send daily email to developer mailing lists with changes in gerrit
https://jira.zephyrproject.org/browse/ZEP-175

[ZEP-179] (Fixed) Create a digest of JIRA items
https://jira.zephyrproject.org/browse/ZEP-179


RESOLVED JIRA items within last 24 hours: 2
[ZEP-205] (Won't Do) Fail to enable udp loopback for ipv4
https://jira.zephyrproject.org/browse/ZEP-205

[ZEP-422] (Fixed) Cannot create Bluetooth firmware for the Arduino 101
https://jira.zephyrproject.org/browse/ZEP-422


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/2487 : rfc: CoAP implementation tailored for Zephyr
- https://gerrit.zephyrproject.org/r/2488 : drivers: uart: prevent corruption of global data and device setting due to concurrent API calls
- https://gerrit.zephyrproject.org/r/2490 : Bluetooth: Allow NRPA usage when connections are not supported
- https://gerrit.zephyrproject.org/r/2485 : samples: Initial commit of the heartrate monitor

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/2047 : !!DO NOT MERGE!! kernel v2: multi-tasking nanokernel, semaphores and timeouts
- https://gerrit.zephyrproject.org/r/2480 : Bluetooth: L2CAP: Refactor l2cap core types
- https://gerrit.zephyrproject.org/r/2476 : samples/static_lib: Linking with a static library
- https://gerrit.zephyrproject.org/r/2463 : samples/net: Network API for Zephyr
- https://gerrit.zephyrproject.org/r/2336 : sys_log: adds system log documentation page
- https://gerrit.zephyrproject.org/r/2352 : nxp_kinetis: Add Kconfig options to select the SoC part number

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/2489 : Bluetooth: Update Intel copyright for files modified in 2016
- https://gerrit.zephyrproject.org/r/2458 : newlib: Drop _fstat implementation
- https://gerrit.zephyrproject.org/r/2459 : newlib: Support both namespace protected & nonprotected stubs
- https://gerrit.zephyrproject.org/r/2460 : toolchain.gccarmemb: Add include path for newlib headers
- https://gerrit.zephyrproject.org/r/2484 : verify: enable full verification


Re: [RFC] CoAP for Zephyr

Vinicius Costa Gomes
 

Hi Johan,

Johan Hedberg <johan.hedberg(a)intel.com> writes:

Hi Vinicius,

On Thu, Jun 09, 2016, Vinicius Costa Gomes wrote:
struct quapi_packet {
uint8_t *buf;
uint8_t *start;
uint16_t len;
uint16_t used;
};
This looks very similar to net_buf (include/net/buf.h). Since the
network stack will anyway give and take net_bufs, wouldn't it be more
efficient to just use those in this API, especially if it's going to be
specific to Zephyr?
I had some plans that this could be used in other places, but I am not
opposed to make this Zephyr specific, and use net_buf (for example) if
it means doing a better job.

What I have in mind is completing the test "suite" and samples, so all
(or most) the API is exercised, then going for these improvements.


Johan

Cheers,
--
Vinicius


Re: [RFC] CoAP for Zephyr

Vinicius Costa Gomes
 

Hi,

Vinicius Costa Gomes <vinicius.gomes(a)intel.com> writes:
Hi,

Extracted from:

https://gerrit.zephyrproject.org/r/#/c/2487/

--8<---------------cut here---------------start------------->8---

Quapi[1] - Basic CoAP for Zephyr
################################

CoAP[2] is a widely used protocol for IoT communications, used in the OCF
and LWM2M specifications, for example.

Concepts behind Quapi:
- basic, it will be enough to be compliant with the specification and to
implement concrete use cases from OCF and LWM2M, for example;
- network independence, to make the transition to others network stacks easier,
and testing trivial;
- predicable memory usage, avoiding dynamic memory allocation and keeping
the necessary state tracking mechanisms visible to the user;

The possibility of porting `sol-coap` (from Soletta[3]) to Zephyr was
considered, but the differences in the concurrence model of Soletta
and Zephyr, and the dependence of dynamic memory allocation would make
the porting difficult.

`libcoap` [4] is a pretty complete implementation, but too complicated
because it heavily depends on the network stack API and concepts, and
even if it's possible to make it to not allocate memory, much of it is
not directly exposed to the user.

You can reach the current implementation like this:

git clone http://ab01.bz.intel.com/~vcostago/quapi.git
The public accessible address is:

http://git.infradead.org/users/vcgomes/quapi.git


Cheers,
--
Vinicius


Re: [RFC] CoAP for Zephyr

Johan Hedberg
 

Hi Vinicius,

On Thu, Jun 09, 2016, Vinicius Costa Gomes wrote:
struct quapi_packet {
uint8_t *buf;
uint8_t *start;
uint16_t len;
uint16_t used;
};
This looks very similar to net_buf (include/net/buf.h). Since the
network stack will anyway give and take net_bufs, wouldn't it be more
efficient to just use those in this API, especially if it's going to be
specific to Zephyr?

Johan


[RFC] CoAP for Zephyr

Vinicius Costa Gomes
 

Hi,

Extracted from:

https://gerrit.zephyrproject.org/r/#/c/2487/

--8<---------------cut here---------------start------------->8---

Quapi[1] - Basic CoAP for Zephyr
################################

CoAP[2] is a widely used protocol for IoT communications, used in the OCF
and LWM2M specifications, for example.

Concepts behind Quapi:
- basic, it will be enough to be compliant with the specification and to
implement concrete use cases from OCF and LWM2M, for example;
- network independence, to make the transition to others network stacks easier,
and testing trivial;
- predicable memory usage, avoiding dynamic memory allocation and keeping
the necessary state tracking mechanisms visible to the user;

The possibility of porting `sol-coap` (from Soletta[3]) to Zephyr was
considered, but the differences in the concurrence model of Soletta
and Zephyr, and the dependence of dynamic memory allocation would make
the porting difficult.

`libcoap` [4] is a pretty complete implementation, but too complicated
because it heavily depends on the network stack API and concepts, and
even if it's possible to make it to not allocate memory, much of it is
not directly exposed to the user.

You can reach the current implementation like this:

git clone http://ab01.bz.intel.com/~vcostago/quapi.git

There a couple of basic unit tests (nothing fancy) and very simple
example, and a few FIXME's :-)

If you don't feel like cloning the repository, here is the API::

#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>

/* Useless forward declaration */
struct quapi_resource;
struct quapi_packet;
struct quapi_pending;

enum quapi_option_num {
QUAPI_OPTION_IF_MATCH = 1,
QUAPI_OPTION_URI_HOST = 3,
QUAPI_OPTION_ETAG = 4,
QUAPI_OPTION_IF_NONE_MATCH = 5,
QUAPI_OPTION_OBSERVE = 6,
QUAPI_OPTION_URI_PORT = 7,
QUAPI_OPTION_LOCATION_PATH = 8,
QUAPI_OPTION_URI_PATH = 11,
QUAPI_OPTION_CONTENT_FORMAT = 12,
QUAPI_OPTION_MAX_AGE = 14,
QUAPI_OPTION_URI_QUERY = 15,
QUAPI_OPTION_ACCEPT = 17,
QUAPI_OPTION_LOCATION_QUERY = 20,
QUAPI_OPTION_PROXY_URI = 35,
QUAPI_OPTION_PROXY_SCHEME = 39
};

enum quapi_method {
QUAPI_METHOD_GET = 1,
QUAPI_METHOD_POST = 2,
QUAPI_METHOD_PUT = 3,
QUAPI_METHOD_DELETE = 4,
};

#define QUAPI_REQUEST_MASK 0x07

enum quapi_msgtype {
QUAPI_TYPE_CON = 0,
QUAPI_TYPE_NON_CON = 1,
QUAPI_TYPE_ACK = 2,
QUAPI_TYPE_RESET = 3
};

#define quapi_make_response_code(clas, det) ((clas << 5) | (det))

enum quapi_response_code {
QUAPI_RESPONSE_CODE_OK = quapi_make_response_code(2, 0),
QUAPI_RESPONSE_CODE_CREATED = quapi_make_response_code(2, 1),
QUAPI_RESPONSE_CODE_DELETED = quapi_make_response_code(2, 2),
QUAPI_RESPONSE_CODE_VALID = quapi_make_response_code(2, 3),
QUAPI_RESPONSE_CODE_CHANGED = quapi_make_response_code(2, 4),
QUAPI_RESPONSE_CODE_CONTENT = quapi_make_response_code(2, 5),
QUAPI_RESPONSE_CODE_BAD_REQUEST = quapi_make_response_code(4, 0),
QUAPI_RESPONSE_CODE_UNAUTHORIZED = quapi_make_response_code(4, 1),
QUAPI_RESPONSE_CODE_BAD_OPTION = quapi_make_response_code(4, 2),
QUAPI_RESPONSE_CODE_FORBIDDEN = quapi_make_response_code(4, 3),
QUAPI_RESPONSE_CODE_NOT_FOUND = quapi_make_response_code(4, 4),
QUAPI_RESPONSE_CODE_NOT_ALLOWED = quapi_make_response_code(4, 5),
QUAPI_RESPONSE_CODE_NOT_ACCEPTABLE = quapi_make_response_code(4, 6),
QUAPI_RESPONSE_CODE_PRECONDITION_FAILED = quapi_make_response_code(4, 12),
QUAPI_RESPONSE_CODE_REQUEST_TOO_LARGE = quapi_make_response_code(4, 13),
QUAPI_RESPONSE_CODE_INTERNAL_ERROR = quapi_make_response_code(5, 0),
QUAPI_RESPONSE_CODE_NOT_IMPLEMENTED = quapi_make_response_code(5, 1),
QUAPI_RESPONSE_CODE_BAD_GATEWAY = quapi_make_response_code(5, 2),
QUAPI_RESPONSE_CODE_SERVICE_UNAVAILABLE = quapi_make_response_code(5, 3),
QUAPI_RESPONSE_CODE_GATEWAY_TIMEOUT = quapi_make_response_code(5, 4),
QUAPI_RESPONSE_CODE_PROXYING_NOT_SUPPORTED = quapi_make_response_code(5, 5)
};

#define QUAPI_CODE_EMPTY (0)

typedef int (*quapi_method_t)(const struct quapi_resource *resource,
struct quapi_packet *request,
const void *addr);

struct quapi_resource {
quapi_method_t get, post, put, del;
const char **path;
void *user_data;
};

struct quapi_packet {
uint8_t *buf;
uint8_t *start;
uint16_t len;
uint16_t used;
};

typedef int (*quapi_reply_t)(const struct quapi_packet *response,
struct quapi_pending *pending);

struct quapi_pending {
struct quapi_packet request;
uint16_t timeout;
quapi_reply_t reply;
void *user_data;
};

struct quapi_option {
void *value;
uint16_t len;
};

/* buf must be valid while pkt is used */
int quapi_packet_parse(struct quapi_packet *pkt, uint8_t *buf, size_t len);

/* buf must be valid while pkt is used */
int quapi_packet_init(struct quapi_packet *pkt,
uint8_t *buf, size_t len);

int quapi_pending_init(struct quapi_pending *pending,
const struct quapi_packet *request);

struct quapi_pending *quapi_pending_next_unused(
struct quapi_pending *pendings);

/*
* After a response is received, clear all pending retransmissions related to
* that response.
*/
struct quapi_pending *quapi_pending_received(
const struct quapi_packet *response,
struct quapi_pending *pendings);

/*
* Returns the next pending about to expire, pending->timeout informs how many
* ms to next expiration.
*/
struct quapi_pending *quapi_pending_next_to_expire(
struct quapi_pending *pendings);

/*
* After a request is sent, user may want to cycle the pending retransmission
* so the timeout is updated. Returns false if this is the last
* retransmission.
*/
bool quapi_pending_cycle(struct quapi_pending *pending);

/*
* When a request is received, call the appropriate methods of the
* matching resources.
*/
int quapi_handle_request(struct quapi_packet *pkt,
const struct quapi_resource *resources,
const void *from);

/*
* Same logic as the first implementation of sol-coap, returns a pointer to
* the start of the payload, and how much memory is available (to the
* payload), it will also insert he COAP_MARKER (0xFF).
*/
uint8_t *quapi_packet_get_payload(struct quapi_packet *pkt, uint16_t *len);

int quapi_packet_set_used(struct quapi_packet *pkt, uint16_t len);

int quapi_add_option(struct quapi_packet *pkt, uint16_t code,
const void *value, uint16_t len);

int quapi_find_options(const struct quapi_packet *pkt, uint16_t code,
struct quapi_option *options, uint16_t veclen);

/* This stuff isn't interesting */
uint8_t quapi_header_get_version(const struct quapi_packet *pkt);

uint8_t quapi_header_get_type(const struct quapi_packet *pkt);

const uint8_t *quapi_header_get_token(const struct quapi_packet *pkt,
uint8_t *len);

uint8_t quapi_header_get_code(const struct quapi_packet *pkt);

uint16_t quapi_header_get_id(const struct quapi_packet *pkt);

void quapi_header_set_version(struct quapi_packet *pkt, uint8_t ver);

void quapi_header_set_type(struct quapi_packet *pkt, uint8_t type);

int quapi_header_set_token(struct quapi_packet *pkt, const uint8_t *token,
uint8_t tokenlen);

void quapi_header_set_code(struct quapi_packet *pkt, uint8_t code);

void quapi_header_set_id(struct quapi_packet *pkt, uint16_t id);


Another thing that I would appreciate is to not focus on the names of
the functions (at first), instead focusing on the primitives provided.
The lack of documentation is a feature for now :-)

One thing that I couldn't decide is how to expose the "observe"[5]
functionality without at least the abstraction of a network
address. Suggestions are welcome.


[1] The name is a placeholder, the only reason it was chosen was that
it sounds like 'coap' (for portuguese speakers), but I would like that
this kind of discussion would happen after the consensus is reached
that this approach has value :-)

[2] https://tools.ietf.org/html/rfc7252

[3] https://github.com/solettaproject/soletta

[4] https://libcoap.net/

[5] https://tools.ietf.org/html/rfc7641


Cheers,
--
Vinicius


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 1
[ZEP-438] build out of tree failed when app's abspath contains $(ZEPHYR_BASE)
https://jira.zephyrproject.org/browse/ZEP-438


UPDATED JIRA items within last 24 hours: 15
[ZEP-243] Create Wiki Structure for Boards
https://jira.zephyrproject.org/browse/ZEP-243

[ZEP-249] nios2: Enable altera_max10 board in sanitycheck runs for nanokernel
https://jira.zephyrproject.org/browse/ZEP-249

[ZEP-441] Add driver API reentrancy support to GPIO shim drivers
https://jira.zephyrproject.org/browse/ZEP-441

[ZEP-440] Add driver API reentrancy support to WDT shim driver
https://jira.zephyrproject.org/browse/ZEP-440

[ZEP-118] add upstream openocd to SDK
https://jira.zephyrproject.org/browse/ZEP-118

[ZEP-115] Create a new build to run all the test cases on a gerrit change.
https://jira.zephyrproject.org/browse/ZEP-115

[ZEP-285] FAT filesystem support on top of SPI Flash
https://jira.zephyrproject.org/browse/ZEP-285

[ZEP-430] Add driver API reentrancy support to PWM shim driver
https://jira.zephyrproject.org/browse/ZEP-430

[ZEP-70] Users should be able to use bossa tool for the Arduino Due from the SDK
https://jira.zephyrproject.org/browse/ZEP-70

[ZEP-30] LE privacy 1.2
https://jira.zephyrproject.org/browse/ZEP-30

[ZEP-231] USB device support
https://jira.zephyrproject.org/browse/ZEP-231

[ZEP-181] Persistent storage APIs
https://jira.zephyrproject.org/browse/ZEP-181

[ZEP-429] CONFIG_NEWLIB_LIBC unusable with Zephyr SDK 0.8
https://jira.zephyrproject.org/browse/ZEP-429

[ZEP-146] missing field "Build ID"
https://jira.zephyrproject.org/browse/ZEP-146

[ZEP-431] newlib should be configured with --disable-newlib-supplied-syscalls
https://jira.zephyrproject.org/browse/ZEP-431


CLOSED JIRA items within last 24 hours: 10
[ZEP-215] (Fixed) MQTT client capability: QoS0
https://jira.zephyrproject.org/browse/ZEP-215

[ZEP-409] (Fixed) Add driver API reentrancy support to I2C driver for LMT
https://jira.zephyrproject.org/browse/ZEP-409

[ZEP-408] (Fixed) Add driver API reentrancy support to SPI driver for LMT
https://jira.zephyrproject.org/browse/ZEP-408

[ZEP-410] (Fixed) Add driver API reentrancy support to SPI driver for ARC
https://jira.zephyrproject.org/browse/ZEP-410

[ZEP-439] (Duplicate) Add driver API reentrancy support to ADC shim driver
https://jira.zephyrproject.org/browse/ZEP-439

[ZEP-360] (Fixed) We should be able to exclude directories from checkpatch
https://jira.zephyrproject.org/browse/ZEP-360

[ZEP-309] (Fixed) TCP Client/Server Implementation
https://jira.zephyrproject.org/browse/ZEP-309

[ZEP-320] (Fixed) Support bare-metal toolchains
https://jira.zephyrproject.org/browse/ZEP-320

[ZEP-144] (Fixed) nucleo_f103rb and stm32_mini_a15 not built by sanity checks
https://jira.zephyrproject.org/browse/ZEP-144

[ZEP-397] (Fixed) Undeclared functions when building kernel_event_logger for ARC microkernel
https://jira.zephyrproject.org/browse/ZEP-397


RESOLVED JIRA items within last 24 hours: 0


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/2480 : Bluetooth: L2CAP: Refactor l2cap core types
- https://gerrit.zephyrproject.org/r/2483 : sensor: add driver for HMC5883L magnetometer
- https://gerrit.zephyrproject.org/r/2476 : samples/static_lib: Linking with a static library
- https://gerrit.zephyrproject.org/r/2475 : pwm: Implement set period and duty cycle API, and fix Set value API
- https://gerrit.zephyrproject.org/r/2474 : pwm: Create API to use time units.
- https://gerrit.zephyrproject.org/r/2473 : include: add reviewers list: fix regex in email maintainer

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/2170 : Bluetooth: L2CAP: Refactor l2cap core types
- https://gerrit.zephyrproject.org/r/2336 : sys_log: adds system log documentation page
- https://gerrit.zephyrproject.org/r/2197 : CI: test: build SDK
- https://gerrit.zephyrproject.org/r/2047 : !!DO NOT MERGE!! kernel v2: multi-tasking nanokernel, semaphores and timeouts
- https://gerrit.zephyrproject.org/r/2464 : nios2: Kconfig: remove some unused config options
- https://gerrit.zephyrproject.org/r/2352 : nxp_kinetis: Add Kconfig options to select the SoC part number
- https://gerrit.zephyrproject.org/r/2432 : drivers:i2c_k64: Added template of I2C driver for K64F SoC
- https://gerrit.zephyrproject.org/r/2342 : gpio: Use locking mechanism to guard critical regions.
- https://gerrit.zephyrproject.org/r/2431 : wdt : improve reentrancy of the wdt driver
- https://gerrit.zephyrproject.org/r/2462 : sanitycheck: build for altera_max10 board

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/2482 : i2c: qmsi: remove duplicate I2C_QMSI_SS Kconfig option
- https://gerrit.zephyrproject.org/r/2479 : net: apps: Fix ip buf application data length
- https://gerrit.zephyrproject.org/r/2478 : net: tests: Clean up logging of net_buf tests
- https://gerrit.zephyrproject.org/r/2477 : net: tests: Add task-fiber test for net_buf_get/put
- https://gerrit.zephyrproject.org/r/2380 : doc: unicode trademark and regsiter trademark
- https://gerrit.zephyrproject.org/r/2456 : MAINTAINERS: Add NETWORKING and NETWORK BUFFERS sections
- https://gerrit.zephyrproject.org/r/2457 : MAINTAINERS: Add web pages for Networking and Bluetooth
- https://gerrit.zephyrproject.org/r/2340 : int: Set default ARC interrupts to lowest priority to start
- https://gerrit.zephyrproject.org/r/2472 : Bluetooth: GATT: Fix ccc cfg clear logic on disconnect


Porting Zephyr on 64-bits RISC-V platform

Sergey Khabarov
 

I've made some work on porting zephyr on RISC-V based platform.The result is available on githug:
https://github.com/sergeykhbr/riscv_vhdl/

I wonder is there any chance to merge such project taking into account the following features:
- OS is running on FPGA boards.
- Maintainer is the only person.

There's also implemented Microsoft Visual Studio arch that is used Windows API to switch fibers/tasks as cooperatively either as preemptively. But it is another question.


Re: Trying Clang builds

Renato Golin <renato.golin@...>
 

On 6 June 2016 at 14:08, Renato Golin <renato.golin(a)linaro.org> wrote:
I had a look at the Makefile.toolchain.* and they all assume a
completely different (and somewhat statically deployed) toolchain.
Clang tries very hard to mimic and inter-operate with GCC, and is
normally installed by the system. Since every distro has their own way
to deploy it, and Clang has a somewhat smart driver that can figure
out most of it, I don't think having a Makefile for Clang makes sense.
I just had a look and it seems that the clang flags that were there
before we just for the host, not the target.

Also, there is already a Makefile for embedded GCC, so I'll just
replicate with Clang options and see what happens.

Thanks!
--renato


Re: fstat vs _fstat implementation in newlib/libc-hooks.c

Kumar Gala
 

Great, sent a patch series that does that and fixes up the newlib support to deal with other toolchains better.

- k

On Jun 8, 2016, at 10:34 AM, NASHIF, ANAS <anas.nashif(a)intel.com> wrote:

Kumar,
The fstat is not being used and is left there by mistake from a previous implementation of the hooks. I think it is safe to remove it.

Anas

On 07/06/2016, 12:59, "Kumar Gala" <kumar.gala(a)linaro.org> wrote:

Anas,

Do you know why the fstat and _fstat implementations are slightly different in lib/libc/newlib/libc-hooks.c. Specifically why fstat() sets buf->st_blksize = 0?

int fstat(int fd, struct stat *buf)
{
buf->st_mode = S_IFCHR; /* Always pretend to be a tty */
buf->st_blksize = 0;

return 0;
}

int _fstat(int file, struct stat *st)
{
st->st_mode = S_IFCHR;
return 0;
}

In addition, the newlib docs minimal implementation only sets st_mode = S_IFCHR

https://sourceware.org/newlib/libc.html#Stubs

So wondering what the history might be fore st_blksize = 0, and if we need to bother.

- k


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 5
[ZEP-434] Driver for HMC5883L magnetometer
https://jira.zephyrproject.org/browse/ZEP-434

[ZEP-437] TCP/IP API
https://jira.zephyrproject.org/browse/ZEP-437

[ZEP-435] Ethernet/IPv4/TCP: ip_buf_appdatalen returns wrong values
https://jira.zephyrproject.org/browse/ZEP-435

[ZEP-433] Unclear how to obtain Arduino 101 "original bootloader" for dfu-util operation
https://jira.zephyrproject.org/browse/ZEP-433

[ZEP-436] Test case tests/kernel/test_mem_safe fails on ARM hardware
https://jira.zephyrproject.org/browse/ZEP-436


UPDATED JIRA items within last 24 hours: 7
[ZEP-228] File system interface designed after POSIX
https://jira.zephyrproject.org/browse/ZEP-228

[ZEP-69] Extend PWM API to use arbitrary unit of time
https://jira.zephyrproject.org/browse/ZEP-69

[ZEP-251] nios2: implement nano_cpu_atomic_idle()
https://jira.zephyrproject.org/browse/ZEP-251

[ZEP-250] nios2: implement nano_cpu_idle()
https://jira.zephyrproject.org/browse/ZEP-250

[ZEP-232] Support for USB communications device class ACM
https://jira.zephyrproject.org/browse/ZEP-232

[ZEP-231] USB device support
https://jira.zephyrproject.org/browse/ZEP-231

[ZEP-157] PWM Pin Configure API has no effect
https://jira.zephyrproject.org/browse/ZEP-157


CLOSED JIRA items within last 24 hours: 0

RESOLVED JIRA items within last 24 hours: 0


Re: fstat vs _fstat implementation in newlib/libc-hooks.c

Nashif, Anas
 

Kumar,
The fstat is not being used and is left there by mistake from a previous implementation of the hooks. I think it is safe to remove it.

Anas

On 07/06/2016, 12:59, "Kumar Gala" <kumar.gala(a)linaro.org> wrote:

Anas,

Do you know why the fstat and _fstat implementations are slightly different in lib/libc/newlib/libc-hooks.c. Specifically why fstat() sets buf->st_blksize = 0?

int fstat(int fd, struct stat *buf)
{
buf->st_mode = S_IFCHR; /* Always pretend to be a tty */
buf->st_blksize = 0;

return 0;
}

int _fstat(int file, struct stat *st)
{
st->st_mode = S_IFCHR;
return 0;
}

In addition, the newlib docs minimal implementation only sets st_mode = S_IFCHR

https://sourceware.org/newlib/libc.html#Stubs

So wondering what the history might be fore st_blksize = 0, and if we need to bother.

- k


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/2472 : Bluetooth: GATT: Fix ccc cfg clear logic on disconnect
- https://gerrit.zephyrproject.org/r/2461 : nios2: set up common linker script for XIP and non-XIP
- https://gerrit.zephyrproject.org/r/2462 : sanitycheck: build for altera_max10 board
- https://gerrit.zephyrproject.org/r/2464 : nios2: Kconfig: remove some unused config options
- https://gerrit.zephyrproject.org/r/2451 : nios2: implement nano_cpu_idle and nano_cpu_atomic_idle
- https://gerrit.zephyrproject.org/r/2465 : WIP nios2: implement exception handling code
- https://gerrit.zephyrproject.org/r/2456 : MAINTAINERS: Add NETWORKING and NETWORK BUFFERS sections
- https://gerrit.zephyrproject.org/r/2457 : MAINTAINERS: Add web pages for Networking and Bluetooth
- https://gerrit.zephyrproject.org/r/2455 : nios2: implement irq_enable() and irq_disable()
- https://gerrit.zephyrproject.org/r/2460 : toolchain.gccarmemb: Add include path for newlib headers
- https://gerrit.zephyrproject.org/r/2454 : nios2.h: cleanup API
- https://gerrit.zephyrproject.org/r/2459 : newlib: Support both namespace protected & nonprotected stubs
- https://gerrit.zephyrproject.org/r/2458 : newlib: Drop _fstat implementation

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/2380 : doc: unicode trademark and regsiter trademark
- https://gerrit.zephyrproject.org/r/2352 : nxp_kinetis: Add Kconfig options to select the SoC part number
- https://gerrit.zephyrproject.org/r/2170 : Bluetooth: L2CAP: Refactor l2cap core types
- https://gerrit.zephyrproject.org/r/2283 : flash: Use locking mechanism to guard critical regions
- https://gerrit.zephyrproject.org/r/2430 : pwm: prevent the corruption of global data and device registers setting due to concurrent API calls
- https://gerrit.zephyrproject.org/r/2431 : wdt : improve reentrancy of the wdt driver
- https://gerrit.zephyrproject.org/r/2047 : !!DO NOT MERGE!! kernel v2: multi-tasking nanokernel, semaphores and timeouts
- https://gerrit.zephyrproject.org/r/2197 : CI: test: build SDK
- https://gerrit.zephyrproject.org/r/1997 : nios2: set initial stack pointer to the interrupt stack
- https://gerrit.zephyrproject.org/r/1995 : nios2: add arch/nios2/soc/<soc>/include to linker include path
- https://gerrit.zephyrproject.org/r/2264 : nios2: add flashing/debug scripts
- https://gerrit.zephyrproject.org/r/2263 : nios2: generate kernel image in Intel HEX format
- https://gerrit.zephyrproject.org/r/1996 : nios2: crt0: split into __start and __text_start
- https://gerrit.zephyrproject.org/r/1998 : WIP
- https://gerrit.zephyrproject.org/r/2347 : samples/net/zperf: add task profiler support
- https://gerrit.zephyrproject.org/r/2348 : samples/task_profiler: fix crash when starting profiler
- https://gerrit.zephyrproject.org/r/2346 : samples/task_profiler: modifications to ease integration
- https://gerrit.zephyrproject.org/r/2327 : aon counter: Use locking mechanism to guard critical regions of API call

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/2468 : Bluetooth: Fix comment for bt_conn_lookup_state_le
- https://gerrit.zephyrproject.org/r/2469 : Bluetooth: Fix notifying about cancelled connection attempt
- https://gerrit.zephyrproject.org/r/2471 : Bluetooth: Remove LE Rand workaround for mynewt firmware
- https://gerrit.zephyrproject.org/r/2470 : Bluetooth: Fix using uninitialized PRNG
- https://gerrit.zephyrproject.org/r/2467 : Bluetooth: Simplify bt_hci_connect_le_cancel
- https://gerrit.zephyrproject.org/r/2452 : Bluetooth: GATT: Handle ccc cfg values correctly on disconnect
- https://gerrit.zephyrproject.org/r/2453 : Bluetooth: Fix never yielding if rx_queue always contains data
- https://gerrit.zephyrproject.org/r/2466 : fix: meta-zephyr: verify and merge change GERRIT_REFNAME to GERRIT_REFSPEC
- https://gerrit.zephyrproject.org/r/2450 : new jobs: tag: verify: merge: meta-zephyr-sdk


fstat vs _fstat implementation in newlib/libc-hooks.c

Kumar Gala
 

Anas,

Do you know why the fstat and _fstat implementations are slightly different in lib/libc/newlib/libc-hooks.c. Specifically why fstat() sets buf->st_blksize = 0?

int fstat(int fd, struct stat *buf)
{
buf->st_mode = S_IFCHR; /* Always pretend to be a tty */
buf->st_blksize = 0;

return 0;
}

int _fstat(int file, struct stat *st)
{
st->st_mode = S_IFCHR;
return 0;
}

In addition, the newlib docs minimal implementation only sets st_mode = S_IFCHR

https://sourceware.org/newlib/libc.html#Stubs

So wondering what the history might be fore st_blksize = 0, and if we need to bother.

- k


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 1
[ZEP-431] newlib should be configured with --disable-newlib-supplied-syscalls
https://jira.zephyrproject.org/browse/ZEP-431


UPDATED JIRA items within last 24 hours: 0

CLOSED JIRA items within last 24 hours: 3
[ZEP-57] (Duplicate) create dedicated kconfig section for debug options with global toggle
https://jira.zephyrproject.org/browse/ZEP-57

[ZEP-366] (Duplicate) Linking with static libraries
https://jira.zephyrproject.org/browse/ZEP-366

[ZEP-78] (Duplicate) need defconfigs for supported boards which build all drivers
https://jira.zephyrproject.org/browse/ZEP-78


RESOLVED JIRA items within last 24 hours: 0


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/2430 : pwm: prevent the corruption of global data and device registers setting due to concurrent API calls
- https://gerrit.zephyrproject.org/r/2327 : aon counter: Use locking mechanism to guard critical regions of API call
- https://gerrit.zephyrproject.org/r/2352 : nxp_kinetis: Add Kconfig options to select the SoC part number
- https://gerrit.zephyrproject.org/r/2434 : include/arch/arm/cortex_m/sys_io.h: Added memory bit manipulation functions for bytewise operations
- https://gerrit.zephyrproject.org/r/2433 : include/arch/arm/cortex_m/sys_io.h: added sys_write8 function, some socs need of byte wide addressing
- https://gerrit.zephyrproject.org/r/2283 : flash: Use locking mechanism to guard critical regions
- https://gerrit.zephyrproject.org/r/2432 : drivers:i2c_k64: Added template of I2C driver for K64F SoC
- https://gerrit.zephyrproject.org/r/1993 : drivers/nble: Add timeout before Conn Param Update as Peripheral
- https://gerrit.zephyrproject.org/r/2170 : Bluetooth: L2CAP: Refactor l2cap core types

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/2449 : Bluetooth: shell: Fix data_pool declaration
- https://gerrit.zephyrproject.org/r/2448 : Bluetooth: L2CAP: Include <bluetooth/buf.h>
- https://gerrit.zephyrproject.org/r/2447 : doc: boards/arduino_101: Update BLE firmare for latest MyNewt version

7241 - 7260 of 8104