Problem solved! Adding one line (mraa_gpio_use_mmaped) did a trick.
[code] // init clock context
m_clkPinCtx = mraa_gpio_init(dcki);
if (m_clkPinCtx == NULL) {
fprintf(stderr, “Are you sure that pin%d you requested is valid on your platform?”, dcki);
exit(1);
}
mraa_gpio_use_mmaped(m_clkPinCtx, 1); // newly added
// init data context
m_dataPinCtx = mraa_gpio_init(di);
if (m_dataPinCtx == NULL) {
fprintf(stderr, "Are you sure that pin%d you requested is valid on your platform?", di);
exit(1);
}
mraa_gpio_use_mmaped(m_dataPinCtx, 1); // newly added[/code]
Default GPIO API for Intel Edison was too slow to send two control commands.