Articles of struct

¿Cómo dividir un entero sin signo de 16 bits en una matriz de bytes en Python?

Necesito dividir un entero sin signo de 16 bits en una matriz de bytes (es decir, array.array(‘B’) ) en python. Por ejemplo: >>> reg_val = 0xABCD [insert python magic here] >>> print(“0x%X” % myarray[0]) 0xCD >>> print(“0x%X” % myarray[1]) 0xAB La forma en que lo estoy haciendo actualmente parece muy complicada para algo tan simple: […]

Python Pack 4 bytes enteros con bytes en Bytearray struct.pack

Estoy intentando empaquetar el contenido de un bytearray de python en un entero de 4 bytes con signo utilizando struct.pack. Desafortunadamente, el paquete quiere una cadena, así que, después de buscar en Google, pensé que necesitaba descifrar mi bytearray en una cadena. Pensé que ascii quería decir desde que un carácter ascii es un byte […]

¿Cómo usar struct.pack / unpack con pyaudio correctamente?

Mi objective es descomprimir la cadena proporcionada por pyaudio correctamente a int16 para alguna modificación y luego empaquetarla nuevamente para hacer la reproducción. Esto es lo que obtuve hasta ahora (código copiado de otra publicación): #data contains my string of interleaved int16 data #this code should unpack it accordingly # 1 short out of each […]

Definición de estructura con vista de memoria escrita como miembro

Actualmente estoy tratando de obtener una estructura con una vista de memoria escrita para que funcione. P.ej ctypedef struct node: unsigned int[:] inds Si inds no es una vista de memoria, funciona perfectamente hasta donde puedo ver. Sin embargo, con una vista de memoria y usando algo como def testFunction(): cdef node testNode testNode.inds = […]

Devolviendo una matriz de estructuras en Cython

Estoy tratando de devolver una serie de estructuras en Cython. // .pyx from libc.stdint cimport uint8_t cdef extern from “”: cdef struct apriltag_detection: int id double c[2] double p[4][2] ctypedef apriltag_detection apriltag_detection_t cdef extern from “tag36h11_detector/tag36h11_detector.h”: apriltag_detection_t* scan_frame(int width, int height, uint8_t* data); cdef class Detection: # how do I “link” this to the struct […]

Accediendo a C struct array a Python con SWIG

Estoy intentando llamar al código C existente desde Python. El código C define una estructura B que contiene una matriz de estructura de A s. El código C también define una función que pone valores en la estructura cuando se llama. Puedo acceder a la variable miembro de la matriz, pero no es una lista […]

Uso de Ctypes de Python para pasar el puntero a una función DLL

Estoy intentando acceder a una función en un archivo DLL usando ctypes de Python. La descripción de la función proporcionada se encuentra a continuación. Prototype: Picam_ConnectDemoCamera( PicamModel model, const pichar* serial_number, PicamCameraID* id ) Description: Virtually connects the software-simulated ‘model’ with ‘serial_number’ and returns the camera id in `_id_` Notes: `_id_` is optional and can […]

Python, cómo decodificar decimal codificado en binario (BCD)

La descripción del campo binario es: El número del llamante, expresado con el código BCD comprimido, y los bits sobrantes se llenan con “0xF” He intentado imprimir con el formato de estructura ’16c’ y obtengo: (‘3’, ‘\x00’, ‘\x02’, ‘\x05’, ‘\x15’, ‘\x13’, ‘G’, ‘O’, ‘\xff’, ‘\xff’, ‘\xff’, ‘\xff’, ‘\xff’, ‘\xff’, ‘\xff’, ‘\xff’) y si uso ’16b’ […]

Función de llamada SWIG punteros almacenados dentro de la estructura

Tengo una estructura de la siguiente manera: struct power_model { int64_t (*estimate_energy)(statistics *stats, statistics *scaled_stats, parameters *from, parameters *to, energy_container *energy_container); int64_t (*estimate_performance)(statistics *stats, parameters *params); uint32_t (*freq_to_volt)(uint32_t freq); }; Hay varios modelos de poder que contiene mi código. Me gustaría envolver estos modelos con SWIG y exponerlos a Python para que pueda ejecutar mis […]

Accediendo a un archivo mapeado en memoria usando Python

Estoy buscando usar un archivo asignado en memoria de Guild Wars 2, que está diseñado para enlazar con Mumble para el audio posicional. El archivo contiene información sobre las coordenadas de los caracteres y otra información útil. He podido acceder a la información de coordenadas utilizando este script, import mmap import struct last=[] while True: […]