Blog: September

Real-time Linux for time critical tasks

My Tepozchiquilichtli pieces so far have required a time resolution of 1 millisecond (1 millisecond is the tatum of the pieces). Controlling the timing of the pieces using the Python time.sleep( ) function from within my general purpose computer (Intel Core Duo CPU T2250 @ 1.73GHz, cpu MHz: 800.000, cache: 2048 KB) running plain vanilla Linux proved useless. The function is unable to sleep for less than 4 milliseconds and the inaccuracy is too high.

One way around this problem is to have a dedicated micro-controller do the timing and have it send all the data to the printers. This works great and has the advantages of compactness (there are other issues with this solution, but accurate timing is not one of them). I still wanted to find a way to get the accuracy I need from a general purpose computer because this is more convenient for testing and prototyping.

Enter Real-time Linux and powernap. powernap is a Python module that uses the real-time clock (dev/rtc) to do the timing. With powernap and RT Linux I can get the accuracy of 1 millisecond I need with variances of about 0.002 milliseconds.

The powernap website point to this real-time module, but since there's no documentation for it, I decided to go with the Linux kernel and the CONFIG_PREEMPT_RT Patch instead. Here are instructions to compile the Linux kernel in Debian, and here are general instructions for patching the source for real-time capabilities.

Posted on:
2009.09.04 -0500

Tags:
code , gnu/linux , music , Tepozchiquilichtli

The contemporary structure of dispossession

El FMI [Fondo Monetario Internacional] proporciona préstamos o da la imprescindible luz verde para que otros los proporcionen. Nacido en Estados Unidos, con sede en Estados Unidos y al servicio de Estados Unidos, el Fondo opera, en efecto, como un inspector internacional, sin cuyo visto bueno la banca norteamericana no afloja los cordones de la bolsa; el Banco Mundial, la Agencia para el Desarrollo Internacional y otros organismos filantrópicos de alcance universal también condicionan sus créditos a la firma y el cumplimiento de las *Cartas de intenciones* de los gobiernos ante el omnipotente organismo. Todos los países latinoamericanos reunidos no alcanzan a sumar la mitad de los votos de que disponen los Estados Unidos para orientar la política de este supremo hacedor del equilibrio monetario en el mundo; el FMI fue creado para institucionalizar el predominio financiero de Wall Street sobre el planeta entero, cuando a fines de la segunda guerra el dólar inauguró su hegemonía como moneda internacional.

[...] Al chantaje financiero y tecnológico se suma la competencia desleal y libre del fuerte frente al débil. Como las filiales de las grandes corporaciones multinacionales integran una estructura mundial, pueden darse el lujo de perder dinero durante un año, o dos, o el tiempo que fuere necesario. Bajan, pues, los precios, y se sientan a esperar la rendición del acosado. Los bancos colaboran con el sitio: la empresa nacional no es tan solvente como parecía: se le niegan víveres. Acorralada, la empresa no tarda en levantar la bandera blanca. El capitalista local se convierte en socio menor o en funcionario de sus vencedores. [p.288]

[...] La canalización de los recursos nacionales en dirección a las filiales imperialistas se explica en gran medida por la proliferación de las sucursales bancarias norteamericanas que han brotado, como los hongos después de la lluvia, durante estos últimos años, a lo largo y a lo ancho de América Latina. [...]. Toda esta invasión bancaria sirve para desviar el ahorro latinoamericano hacia las empresas norteamericanas que operan en la región, mientras las empresas nacionales caen estranguladas por la falta de crédito. Los departamentos de relaciones públicas de varios bancos norteamericanos que operan en el exterior pregonan, sin rubores, que su propósito más importante consiste en canalizar el ahorro interno de los países donde operan, para el uso de las corporaciones multinacionales que son clientes de sus casas matrices. Echemos al vuelo la imaginación: ¿podría un banco latinoamericano instalarse en Nueva York para captar el ahorro nacional de los Estados Unidos? La burbuja estalla en el aire: esta insólita aventura está expresamente prohibida. [p. 290]

Las venas abiertas de América Latina (1970)
Eduardo Galeano

Posted on:
2009.09.02 -0500

Tags:
homo homini lupus , texts

Dotmatrix printhead driver

First working PCB of a dot matrix printhead driver. The circuit is a simple transistor array with a 74HC595 shift register, which simultaneously triggers the printhead’s tiny hammers. The PCB is designed to be daisy-chained with other identical copies, allowing one to control multiple printheads at once.

Dotmatrix printhead driver

Posted on:
2009.09.01 -0500

Tags:
music , Tepozchiquilichtli