Skip to content

Instantly share code, notes, and snippets.

View ciniml's full-sized avatar
🏠
Working from home

Kenta IDA ciniml

🏠
Working from home
View GitHub Profile
@ciniml
ciniml / ieee_1800_2017_example_4_initial.sv
Created July 12, 2020 07:55
ieee_1800_2017_example_4_initial
module multiple;
logic a;
initial a = 1;
// The assigned value of the variable is determinate
initial begin
a <= #4 0; // schedules a = 0 at time 4
a <= #4 1; // schedules a = 1 at time 4
end // At time 4, a = 1
endmodule
@ciniml
ciniml / ISRBlink.ino
Last active September 10, 2020 07:30
Wio Terminal TC interrupt sample (separated)
@ciniml
ciniml / ISRBlink.ino
Created June 18, 2020 19:33
WioTerminal TC3 sample
@ciniml
ciniml / grove_left_uart.ino
Last active August 16, 2022 18:55
Wio Terminal Grove UART
#include <wiring_private.h>
static Uart Serial3(&sercom3, PIN_WIRE_SCL, PIN_WIRE_SDA, SERCOM_RX_PAD_1, UART_TX_PAD_0);
void setup() {
Serial.begin(115200);
while(!Serial);
Serial3.begin(115200);
pinPeripheral(PIN_WIRE_SCL, PIO_SERCOM_ALT);
@ciniml
ciniml / flash_accesss.ino
Created May 14, 2020 16:25
Wio Terminal External Flash Test
#include <TFT_eSPI.h>
#include <cstdint>
unsigned char boot_bin[] = {
0x00, 0x00, 0x03, 0x20, 0x09, 0x00, 0x00, 0x04, 0x80, 0xb5, 0x00, 0xaf,
0x88, 0xb0, 0x00, 0xf0, 0x4d, 0xf8, 0x07, 0x90, 0x07, 0x98, 0x01, 0x21,
0xca, 0x03, 0x82, 0x60, 0x03, 0x91, 0x00, 0xf0, 0x4d, 0xf8, 0x06, 0x90,
0x06, 0x98, 0x03, 0x99, 0xca, 0x02, 0x82, 0x60, 0x06, 0x98, 0x82, 0x61,
0xff, 0xe7, 0x07, 0x98, 0x01, 0x21, 0xca, 0x03, 0xc2, 0x61, 0x05, 0x91,
0xff, 0xe7, 0x05, 0x98, 0x15, 0x49, 0x88, 0x42, 0x18, 0xd8, 0xff, 0xe7,
0x06, 0x98, 0x01, 0x21, 0xc9, 0x02, 0xc1, 0x61, 0x00, 0x20, 0x04, 0x90,
@ciniml
ciniml / c_cpp_properties.json
Created May 14, 2020 05:29
VSCode settings for Wio Terminal + arduino-cli
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"${env:HONE}/.arduino15/packages/Seeeduino/tools/arm-none-eabi-gcc/7-2017q4/arm-none-eabi/include",
"${env:HOME}/.arduino15/packages/Seeeduino/tools/CMSIS/**",
"${env:HOME}/.arduino15/packages/Seeeduino/tools/CMSIS-Atmel/**",
"${env:HOME}/.arduino15/packages/Seeeduino/hardware/samd/1.7.5/**",
@ciniml
ciniml / Makefile
Created May 4, 2020 02:49
ESP32 Unaligned access compare disassembly
.PHONY: all
XTENSA_PREFIX ?= xtensa-esp32-elf-
XTENSA_BIN ?= $(HOME)/xtensa-esp32-elf/1.22.0-80/bin
CC := $(XTENSA_BIN)/$(XTENSA_PREFIX)gcc
CXX := $(XTENSA_BIN)/$(XTENSA_PREFIX)g++
CC := $(XTENSA_BIN)/$(XTENSA_PREFIX)ld
OBJDUMP := $(XTENSA_BIN)/$(XTENSA_PREFIX)objdump
CXXFLAGS := -g -Os -std=c++11
@ciniml
ciniml / gowin.py
Last active February 2, 2023 22:26
GOWIN SSPI configuration script for M5Stack
import os
import machine
import time
class GowinConfig(object):
def __init__(self, pin_cs:machine.Pin, pin_mode0:machine.Pin, pin_reconfig_n:machine.Pin, pin_ready:machine.Pin, spi:machine.SPI):
self.__pin_cs = pin_cs
self.__pin_mode0 = pin_mode0
self.__pin_reconfig_n = pin_reconfig_n
self.__pin_ready = pin_ready
@ciniml
ciniml / fs2bin.py
Created April 26, 2020 12:19
Convert GOWIN fs to bin file
#!/usr/bin/env python
import sys
input_path = sys.argv[1]
output_path = sys.argv[2]
with open(input_path, 'r') as input_file:
with open(output_path, 'wb') as output_file:
for line in iter(input_file.readline, ''): #type: str
@ciniml
ciniml / overload.hpp
Last active March 16, 2020 17:53
draw_jpg with buffer support
struct JpegDecodeBuffer
{
std::uint8_t body[4096];
};
bool draw_jpg(DataWrapper* data, int16_t x, int16_t y, int16_t maxWidth, int16_t maxHeight, int16_t offX, int16_t offY, jpeg_div_t scale, JpegDecodeBuffer& decodeBuffer)
{
//...
auto jres = jd_prepare(&jpegdec, jpg_read_data, decodeBuffer.body, sz_pool, &jpeg);
//...