modify return value of down_trylock() to return 1 when semaphore is acquired and 0 when not.
refactor ADC library, use semaphore for ADC sampling completion notification.