##// END OF EJS Templates
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
Update code for django 1.10, python 3 and latest third party packages, review operation view git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@195 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r172:a641bec15a9b
r172:a641bec15a9b
Show More
api.py
134 lines | 2.4 KiB | text/x-python | PythonLexer
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 '''
Created on Dec 2, 2014
@author: Miguel Urco
eth_device decorator is used to implement an api to ethernet devices.
When eth_device decorator is used it adds two parameters to any function (ip and port)
#Definition
@eth_device
def enable_rf()
cmd = "xxxxx"
payload = "xxxxxx"
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 return cmd, payload
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 #How to call this function:
answer = enable_rf(ip, port)
'''
from devices.jro_device import eth_device, IdClass
ID_CLASS = IdClass["rc"]
CMD_RESET =0X01
CMD_ENABLE =0X02
CMD_CHANGEIP =0X03
CMD_STATUS =0X04
Joaquin Verastegui
Metodo nuevo de envio de pulsos y tiempos....
r61 CMD_DISABLE =0X02
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 CMD_ECHO =0XFE
Joaquin Verastegui
Metodo nuevo de envio de pulsos y tiempos....
r61 RC_CMD_RESET =0X10
RC_CMD_WRITE =0x50
RC_CMD_READ =0x8000
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51
@eth_device(ID_CLASS)
def reset():
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 cmd = CMD_RESET
payload = ""
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 return cmd, payload
@eth_device(ID_CLASS)
def change_ip(ip, mask="255.255.255.0", gateway="0.0.0.0"):
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 cmd = CMD_CHANGEIP
payload = ip + '/' + mask + '/' + gateway
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 return cmd, payload
@eth_device(ID_CLASS)
def status():
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 cmd = CMD_STATUS
payload = ""
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 return cmd, payload
@eth_device(ID_CLASS)
def echo():
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 cmd = CMD_ECHO
payload = ""
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 return cmd, payload
@eth_device(ID_CLASS)
def read_all_device():
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 payload = ""
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
updating repository....
r158 return CR_CMD_READ, payload
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51
@eth_device(ID_CLASS)
def write_all_device(payload):
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
updating repository....
r158 return CR_CMD_WRITE, payload
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51
def read_config(ip, port):
"""
Output:
parms : Dictionary with keys
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 """
payload = read_all_device(ip, port)
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 return data.rc_str_to_dict(payload)
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 def write_config(ip, port, parms):
"""
Input:
ip :
port :
parms : Dictionary with keys
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 """
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
updating repository....
r158 payload = data.dict_to_rc_str(parms)
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 answer = write_all_device(ip, port, payload)
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 return answer
Joaquin Verastegui
Metodo nuevo de envio de pulsos y tiempos....
r61 def __get_low_byte(valor):
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
updating repository....
r158 return ord(valor & 0x00FF)
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Joaquin Verastegui
Metodo nuevo de envio de pulsos y tiempos....
r61 def __get_high_byte(valor):
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
updating repository....
r158 return ord((valor & 0xFF00) >> 8)
Joaquin Verastegui
Metodo nuevo de envio de pulsos y tiempos....
r61
Fiorella Quino
updating repository....
r158 @eth_device(ID_CLASS)
Joaquin Verastegui
Metodo nuevo de envio de pulsos y tiempos....
r61 def write_ram_memory(vector_valores, vector_tiempos):
l1 = len(vector_valores)
l2 = len(vector_tiempos)
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Joaquin Verastegui
Metodo nuevo de envio de pulsos y tiempos....
r61 cad = ""
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Joaquin Verastegui
Metodo nuevo de envio de pulsos y tiempos....
r61 for i in range(l1):
Fiorella Quino
updating repository....
r158 cad += ord(84) + __get_low_byte(vector_valores[i]) + ord(85) + __get_high_byte(vector_valores[i]) + \
Joaquin Verastegui
Metodo nuevo de envio de pulsos y tiempos....
r61 ord(84) + __get_low_byte(vector_tiempos[i]) + ord(85) + __get_high_byte(vector_tiempos[i])
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
Fiorella Quino
updating repository....
r158 return RC_CMD_WRITE, cad
Joaquin Verastegui
Metodo nuevo de envio de pulsos y tiempos....
r61
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@72 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r51 if __name__ == '__main__':
ip = "10.10.20.150"
port = 2000
Juan C. Espinoza
Update code for django 1.10, python 3 and latest third party packages, review operation view ...
r172
print(status(ip, port))
print(read_config(ip, port))