#!/usr/bin/python
# -*- encoding: utf-8 -*-

import smbus
import time


bus = smbus.SMBus(1)    # novejsi verze Raspberry Pi (512MB)


# status registr obvodu pcf8583 nastavit na "EVENT COUNTER"
bus.write_byte_data(0x50,0x00,0x20) 


while True:

  # zjisteni poctu impulzu v citaci a prevod do desitkove soustavy
  counter =  bus.read_i2c_block_data(0x50,0x00)
  rad1 = (counter[1] & 0x0F)             # rad jednotek
  rad10 = (counter[1] & 0xF0) >> 4       # rad desitek
  rad100 = (counter[2] & 0x0F)           # rad stovek
  rad1000 = (counter[2] & 0xF0) >> 4     # rad tisicu
  rad10000 = (counter[3] & 0x0F)         # rad desetitisicu
  rad100000 = (counter[3] & 0xF0) >> 4   # rad stotisicu

  count = (rad100000 * 100000) + (rad10000 * 10000) + (rad1000 * 1000) + (rad100 * 100) + (rad10 * 10) + rad1
  print "Frekvence = " + str(count/1000.0) + " [kHz]"

  # nulovani registru s nacitanymi impulzy v obvodu PCF8583
  bus.write_byte_data(0x50,0x01,0x00) # vynulovat LSB
  bus.write_byte_data(0x50,0x02,0x00) # vynulovat prostredni bajt
  bus.write_byte_data(0x50,0x03,0x00) # vynulovat MSB

    
  time.sleep(1)  # pockat sekundu behem ktere se pocitaji impulzy
  

