2018-08-01から1ヶ月間の記事一覧

ArduinoでContinuous servoを使う

#include <Servo.h> Servo myservo; void setup() { myservo.attach(9); myservo.write(90); // set servo to mid-point Serial.begin(115200); } void loop() { for (int i = 90; i < 180; i++) {myservo.write(i);delay(5);Serial.println(i);} delay(1000); for (i</servo.h>…

MicroBlazeのソフトリセット

安全な方法ではないらしいが、以下でリセットできる https://forums.xilinx.com/t5/Embedded-Development-Tools/Software-reset-of-MB-processor/td-p/188732 void mb_reset() { microblaze_disable_interrupts(); (*((void (*)())(0x00)))(); // restart }

MicroBlazeでsprintf()でfloatを指定("%f")すると落ちる

https://renesasrulz.com/synergy/f/synergy---forum/7006/sprintf-with-float リンカースクリプトで、ヒープサイズを増やしたら落ちなくなった 最初はスタックサイズ0x200, ヒープサイズ0x200 変更後はスタックサイズ0x400, ヒープサイズ0x800

PYNQのUARTLITEで文字列の受信

pynqmbのuart.c/uart.hを編集してuart_readline()関数を実装する 実装は以下を参考にした: ZYBO / Pmod / UART > PmodからUART接続してみた (UARTLITE使用) https://qiita.com/7of9/items/d93d24766bd8ff13631a https://github.com/shohei/PYNQ/commit/d14d…

Xilinx SDK上にPynquinoの開発環境を構築する(その2)

https://github.com/shohei/Zsprinter-pynquino にも書いた 1. base designをビルドする。 必要な変更は以下 1. UART1を追加:http://d.hatena.ne.jp/seinzumtode/20180729/1532826360 2. BRAMを64Kから256Kに:http://d.hatena.ne.jp/seinzumtode/20180814/…

Ubuntu上にPynquinoの開発環境を構築する

A. Xilinxツールのバージョン Vivado 2017.4.1 Xilinx SDK 2017.4 B. PYNQライブラリをGitHubからクローンしてtop.bitを作成する PYNQ/boards/Pynq-Z1/base/に移動してmakeするだけ。1時間くらいでtop.bitができる。 C. Address EditorでBRAMを拡張してtop.b…

Xilinx SDK上にPynquinoの開発環境を構築する(その1)

新しい記事も参考→ Xilinx SDK上にPynquinoの開発環境を構築する(その2) http://d.hatena.ne.jp/seinzumtode/20180815/1534292975 A. VivadoのAddress editorでBRAMへの割当てを増やしてGenerate bitstream B. Xilinx SDKでPynquino対応のBSPを作成する 0…

PYNQ ArduinoIOPのbspの作りかた

PYNQ/boards/sw_repoの下にmakefileがあるので、これをMakeすればいい

Altiumが起動しないとき 

https://electronics.stackexchange.com/questions/317127/altium-not-starting Temp fileを削除する C:\Users\shohei\AppData\Local\Altium C:\Users\shohei\AppData\Roaming\Altium

Lanscan on Linux

https://askubuntu.com/a/655916 netdiscover sudo apt install netdiscover sudo netdiscover -r 192.168.100.24/0

ML-808GXの圧力を変更する

#!/usr/bin/env python import sys if len(sys.argv)<2: command = "04DI " else: command = sys.argv[1] print("Command:",command) s = 0x0 for c in command: s = s - (ord(c)) ubyte = (s & (0b11110000)) >> 4 lbyte = s & 0b00001111 ubyteChar = hex(…