xEventGroupSetBitsFromISR doesn’t actually set the bits in the event group directly but defers to the timer task. This is extraordinarily confusing if the ISR wakes up some other task (by a mechanism other than the event group in question) that has higher priority than the timer task and which then goes off and expects the event group bits to have been set. Might I recommend a note on the xEventGroupSetBitsFromISR documentation page explaining this and highly recommending that the timer task have maximum priority, or at least that tasks should have priority above the timer task only for every specific, well-defined reasons?
How about the following: http://www.freertos.org/xEventGroupSetBitsFromISR.html
You may need to refresh the page in your web browser to see the changes.
Looks good to me, thanks!