summaryrefslogtreecommitdiffstats
path: root/sw/linux/src
diff options
context:
space:
mode:
authorNao Pross <naopross@thearcway.org>2017-08-07 19:27:05 +0200
committerNao Pross <naopross@thearcway.org>2017-08-07 19:27:05 +0200
commitd0801b36b47d8f3da610597160fde92059fd7e62 (patch)
treef9f0e348145c3548433e60adbf459e784b909f96 /sw/linux/src
parentfilesystem structure intro and docs (diff)
downloadz80uPC-d0801b36b47d8f3da610597160fde92059fd7e62.tar.gz
z80uPC-d0801b36b47d8f3da610597160fde92059fd7e62.zip
implementation for avr programmer
the programmer will receive the binary in blocks of defined size by a program under sw/programmer/linux (moved from sw/linux).
Diffstat (limited to 'sw/linux/src')
-rw-r--r--sw/linux/src/main.c13
-rw-r--r--sw/linux/src/makefile.am7
-rw-r--r--sw/linux/src/serial.c42
-rw-r--r--sw/linux/src/serial.h17
-rw-r--r--sw/linux/src/ui.c90
-rw-r--r--sw/linux/src/ui.h17
-rwxr-xr-xsw/linux/src/z80progbin34688 -> 0 bytes
-rw-r--r--sw/linux/src/z80prog.ui222
8 files changed, 0 insertions, 408 deletions
diff --git a/sw/linux/src/main.c b/sw/linux/src/main.c
deleted file mode 100644
index 769992a..0000000
--- a/sw/linux/src/main.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include "config.h"
-#include "ui.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdbool.h>
-
-int main(int argc, char *argv[])
-{
- ui_init(&argc, &argv);
- return 0;
-}
-
diff --git a/sw/linux/src/makefile.am b/sw/linux/src/makefile.am
deleted file mode 100644
index 492c3ec..0000000
--- a/sw/linux/src/makefile.am
+++ /dev/null
@@ -1,7 +0,0 @@
-bin_PROGRAMS = z80prog
-z80prog_SOURCES = main.c ui.c serial.c
-
-z80prog_CFLAGS = -Wall -Werror -g $(gtk3_CFLAGS)
-z80prog_LDADD = $(gtk3_LIBS)
-
-CLEANFILES = *~
diff --git a/sw/linux/src/serial.c b/sw/linux/src/serial.c
deleted file mode 100644
index 564676b..0000000
--- a/sw/linux/src/serial.c
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "serial.h"
-
-int serial_connect(const char *devpath, long baudrate)
-{
- int fd;
- struct termios tty;
- // struct termios tty_old;
-
- // open device
- if ((fd = open(devpath, O_RDWR | O_NOCTTY)) < 0) {
- return -1;
- }
-
- // set parameters
- if (tcgetattr(fd, &tty) != 0) {
- return -1;
- }
-
- // TODO: update UI or add support for custom baudrate
- // cfsetospeed(&tty,
- // cfsetispeed(&tty,
-
- tty.c_cflag &= ~PARENB; // no parity
- tty.c_cflag &= ~CSTOPB; // no stop bit
- tty.c_cflag |= CS8; // 8 bit data
- tty.c_cflag &= ~CRTSCTS; // no flow control
-
- tty.c_lflag = 0; // no signaling chars, no echo, no canonical processing
- tty.c_oflag = 0; // no remapping, no delays
- tty.c_cc[VMIN] = 0; // no block read
- tty.c_cc[VTIME] = .5; // .5 seconds read timeout
-
- tty.c_cflag |= CREAD | CLOCAL; // turn on read and ignore ctrl lines
- tty.c_iflag &= ~(IXON | IXOFF | IXANY); // turn off s/w flow ctrl
- tty.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); // make raw
- tty.c_oflag &= ~OPOST; // make raw
-
- tcflush(fd , TCIFLUSH);
- // if (tcsetaddr(
-
- return fd;
-}
diff --git a/sw/linux/src/serial.h b/sw/linux/src/serial.h
deleted file mode 100644
index 6123e42..0000000
--- a/sw/linux/src/serial.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef __Z80PROG_SERIAL_H__
-#define __Z80PROG_SERIAL_H__
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <termios.h>
-
-int serial_connect(const char *devpath, long baudrate);
-void serial_close(int fd);
-
-void serial_program(const char *rompath);
-void serial_read_rom(const char *rom);
-
-#endif
diff --git a/sw/linux/src/ui.c b/sw/linux/src/ui.c
deleted file mode 100644
index b33aa04..0000000
--- a/sw/linux/src/ui.c
+++ /dev/null
@@ -1,90 +0,0 @@
-#include "ui.h"
-
-static bool ui_connected, ui_fileset;
-static GtkTextBuffer *ui_logbuf;
-static GtkBuilder *ui_builder;
-
-void ui_init(int *argc, char **argv[])
-{
- GtkWindow *window;
- GtkTextView *logview;
- GtkFileChooserButton *filechoosebtn;
- GtkButton *connectbtn, *flashbtn;
-
- /* set ui global variables */
- ui_connected = ui_fileset = false;
-
- /* start gtk */
- gtk_init(argc, argv);
-
- /* load glade gtk ui */
- ui_builder = gtk_builder_new();
- gtk_builder_add_from_file(ui_builder, "gbprog.ui", NULL);
-
- /* connect logger buffer (extern variable) */
- ui_logbuf = gtk_text_buffer_new(NULL);
- logview = GTK_TEXT_VIEW(gtk_builder_get_object(ui_builder, "logview"));
-
- gtk_text_view_set_buffer(logview, ui_logbuf);
-
- /* connect objects to function calls */
- // window
- window = GTK_WINDOW(gtk_builder_get_object(ui_builder, "window"));
- g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
-
- // connectbtn
- connectbtn = GTK_BUTTON(gtk_builder_get_object(ui_builder, "flashbtn"));
- g_signal_connect(connectbtn, "clicked",
- G_CALLBACK(ui_connect_clicked), NULL);
-
- // flashbtn
- flashbtn = GTK_BUTTON(gtk_builder_get_object(ui_builder, "flashbtn"));
- g_signal_connect(flashbtn, "clicked", G_CALLBACK(ui_flash_clicked), NULL);
-
- // file chooser
- filechoosebtn = GTK_FILE_CHOOSER_BUTTON(
- gtk_builder_get_object(ui_builder, "filechoosebtn"));
- g_signal_connect(filechoosebtn, "file-set", G_CALLBACK(ui_file_set), NULL);
-
- /* start gtk window */
- gtk_main();
-}
-
-void ui_log(const char *msg, char type)
-{
- GtkTextIter end;
- gchar typech[4] = "[ ] ";
-
- switch (type) {
- case 'm': typech[1] = '@'; break; // message
- case 'w': typech[1] = '#'; break; // warning
- case 'e': typech[1] = '!'; break; // error
- }
-
- gtk_text_buffer_get_end_iter(ui_logbuf, &end);
- gtk_text_buffer_insert(ui_logbuf, &end, typech, 4);
- gtk_text_buffer_get_end_iter(ui_logbuf, &end);
- gtk_text_buffer_insert(ui_logbuf, &end, (const gchar *) msg, strlen(msg));
-}
-
-void ui_file_set(GtkFileChooserButton *btn, gpointer user_data)
-{
- GtkEntry *filepath =
- GTK_ENTRY(gtk_builder_get_object(ui_builder, "filepath"));
-
- gtk_entry_set_text(filepath,
- gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(btn)));
-
- ui_log("File set\n", 'm');
- ui_fileset = true;
-}
-
-void ui_connect_clicked(void)
-{
-
-}
-
-void ui_flash_clicked(void)
-{
-
-}
diff --git a/sw/linux/src/ui.h b/sw/linux/src/ui.h
deleted file mode 100644
index 44314d6..0000000
--- a/sw/linux/src/ui.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef __Z80PROG_UI_H__
-#define __Z80PROG_UI_H_
-
-#include <stdbool.h>
-#include <string.h>
-
-#include <gtk/gtk.h>
-
-void ui_init(int *argc, char **argv[]);
-void ui_log(const char *msg, char type);
-
-void ui_file_set(GtkFileChooserButton *btn, gpointer user_data);
-
-void ui_connect_clicked(void);
-void ui_flash_clicked(void);
-
-#endif
diff --git a/sw/linux/src/z80prog b/sw/linux/src/z80prog
deleted file mode 100755
index 878683b..0000000
--- a/sw/linux/src/z80prog
+++ /dev/null
Binary files differ
diff --git a/sw/linux/src/z80prog.ui b/sw/linux/src/z80prog.ui
deleted file mode 100644
index 3735efa..0000000
--- a/sw/linux/src/z80prog.ui
+++ /dev/null
@@ -1,222 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.20.0 -->
-<interface>
- <requires lib="gtk+" version="3.12"/>
- <object class="GtkAdjustment" id="baudrateadjust">
- <property name="upper">1000000</property>
- <property name="value">9600</property>
- <property name="step_increment">1</property>
- <property name="page_increment">10</property>
- </object>
- <object class="GtkFileFilter" id="gbbinfilter">
- <patterns>
- <pattern>*.bin</pattern>
- <pattern>*.gb</pattern>
- <pattern>*.gba</pattern>
- <pattern>*.gbc</pattern>
- <pattern>*.hex</pattern>
- </patterns>
- </object>
- <object class="GtkWindow" id="window">
- <property name="width_request">450</property>
- <property name="height_request">250</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="title" translatable="yes">Z80 ROM Programmer</property>
- <property name="default_width">450</property>
- <property name="default_height">200</property>
- <child>
- <object class="GtkBox" id="mainbox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="margin_left">10</property>
- <property name="margin_right">10</property>
- <property name="margin_top">10</property>
- <property name="margin_bottom">10</property>
- <property name="orientation">vertical</property>
- <property name="spacing">10</property>
- <child>
- <object class="GtkBox" id="devbox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">10</property>
- <child>
- <object class="GtkEntry" id="devpath">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="placeholder_text" translatable="yes">Enter path</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkSpinButton" id="devbaudrate">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="width_chars">0</property>
- <property name="max_width_chars">7</property>
- <property name="overwrite_mode">True</property>
- <property name="placeholder_text" translatable="yes">9600</property>
- <property name="input_purpose">number</property>
- <property name="adjustment">baudrateadjust</property>
- <property name="climb_rate">10</property>
- <property name="snap_to_ticks">True</property>
- <property name="numeric">True</property>
- <property name="update_policy">if-valid</property>
- <property name="value">9600</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="connectbtn">
- <property name="label">gtk-connect</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="filebox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">10</property>
- <child>
- <object class="GtkEntry" id="filepath">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="placeholder_text" translatable="yes">Binary Path</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkFileChooserButton" id="filechoosebtn">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="filter">gbbinfilter</property>
- <property name="title" translatable="yes"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="flashbox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="spacing">10</property>
- <child>
- <object class="GtkProgressBar" id="flashbar">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="show_text">True</property>
- <property name="ellipsize">start</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="flashbtn">
- <property name="label" translatable="yes">Flash</property>
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkScrolledWindow" id="logscrolled">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="shadow_type">in</property>
- <child>
- <object class="GtkViewport" id="logviewport">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkExpander" id="logexpander">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="expanded">True</property>
- <property name="label_fill">True</property>
- <property name="resize_toplevel">True</property>
- <child>
- <object class="GtkTextView" id="logview">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hexpand">True</property>
- <property name="vexpand">True</property>
- <property name="editable">False</property>
- <property name="monospace">True</property>
- </object>
- </child>
- <child type="label">
- <object class="GtkLabel" id="loglabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Logs</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">4</property>
- </packing>
- </child>
- </object>
- </child>
- </object>
-</interface>