Chart updates now triggered by semaphore