5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 2556|回复: 21
打印 上一主题 下一主题

D10 固件修改 求助 关于液晶屏

[复制链接]
跳转到指定楼层
楼主
发表于 2016-12-26 11:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
D10 固件修改 求助
正在做一个一体控  用d10修改 配合4合一高频头

现在遇到的问题是 d10 原本自带的 lcd屏过大 不适合安装 所以 更换成了oled屏 性能好很多~~遇到的问题是 由于安装位置 限制 oled屏需要 倒装 所以 遇到了一个问题 需要修改固件重 屏幕的设定
对与这个 不是很了解
希望搞的定朋友 告知一下如何修改 或者是修改那个文件 就以  DEVIATION v5.0 版本来说 怎么修改
谢谢了




起初是用er9x  后面放弃了虽然 er9x 功能很强大 但是购买的 这款板子实在太小 ~几次拆装 板子很多地方 焊盘挺不住了 放弃.

欢迎继续阅读楼主其他信息

沙发
发表于 2016-12-26 13:25 | 只看该作者
怎么感觉是哈博森109高配版的控?
3
 楼主| 发表于 2016-12-26 13:27 | 只看该作者
xiehuangege88 发表于 2016-12-26 13:25
怎么感觉是哈博森109高配版的控?

回答正确

4
发表于 2016-12-26 14:59 | 只看该作者
没有D10,可以试试修改一下 src/target/devo10/lcd.c 这个文件。
在LCD_Init()函数里找到 LCD_CMD = 0xA0; 把它改成 0xA1(垂直反向),找到 LCD_CMD = 0xC0; 把它改成 0xC8(水平反向)

没法验证,不一定行啊
5
 楼主| 发表于 2016-12-26 15:08 | 只看该作者
huhuzz 发表于 2016-12-26 14:59
没有D10,可以试试修改一下 src/target/devo10/lcd.c 这个文件。
在LCD_Init()函数里找到 LCD_CMD ...

谢谢 等回去 试试~

6
发表于 2016-12-26 15:36 | 只看该作者
都是大神
7
 楼主| 发表于 2016-12-27 13:43 | 只看该作者
D10 文件中 找到不这个目录 也找不到  lcd 名的 文件
8
发表于 2016-12-27 16:00 | 只看该作者
老大,你的外壳是成品的吗,还有d10可以用oled屏幕,怎么改的
9
发表于 2016-12-28 13:38 | 只看该作者
cappuccinojp 发表于 2016-12-27 13:43
D10 文件中 找到不这个目录 也找不到  lcd 名的 文件

有啊


10
发表于 2016-12-28 13:51 | 只看该作者
本帖最后由 阳光哥 于 2016-12-28 13:53 编辑

你到deviationtx上发帖比在这快多了额,顺便问下你的oled用的是那种,可以直接更换么

来自苹果客户端来自苹果客户端
11
 楼主| 发表于 2016-12-28 14:59 | 只看该作者
/*
    This project is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Deviation is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Deviation.  If not, see <http://www.gnu.org/licenses/>.
*/

#include <assert.h>

#include "common.h"
#include "gui/gui.h"
#include "../common/emu/fltk.h"

//NOTE: LCD scaling used to be done here, but is now done in the fltk code
/*
* // since devo10's screen is too small in emulator , we have it zoomed by 2 for both rows and columns
* color = 0x0 means white, other value means black
*/
void LCD_DrawPixel(unsigned int color)
{
        if (gui.x < LCD_WIDTH && gui.y < LCD_HEIGHT) {        // both are unsigned, can not be < 0
                u8 c;
                // for emulator of devo 10, 0x0 means white while others mean black
                c = color ? 0x00 : 0xaa; // 0xaa is grey color(not dot)
                gui.image[3*(LCD_WIDTH * gui.y + gui.x)] = c;
                gui.image[3*(LCD_WIDTH * gui.y + gui.x) + 1] = c;
                gui.image[3*(LCD_WIDTH * gui.y + gui.x) + 2] = c;
        }
        // this must be executed to continue drawing in the next row
    gui.x++;
    if(gui.x > gui.xend) {
        gui.x = gui.xstart;
        gui.y += gui.dir;
    }
}

void LCD_Clear(unsigned int color) {
        (void)color;
        memset(gui.image, 0xaa, sizeof(gui.image));
}

12
 楼主| 发表于 2016-12-28 15:00 | 只看该作者

/*
    This project is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
    Deviation is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
    along with Deviation.  If not, see <http://www.gnu.org/licenses/>.
*/
#include <assert.h>
#include "common.h"
#include "gui/gui.h"
#include "../common/emu/fltk.h"
//NOTE: LCD scaling used to be done here, but is now done in the fltk code
/*
* // since devo10's screen is too small in emulator , we have it zoomed by 2 for both rows and columns
* color = 0x0 means white, other value means black
*/
void LCD_DrawPixel(unsigned int color)
{
if (gui.x < LCD_WIDTH && gui.y < LCD_HEIGHT) { // both are unsigned, can not be < 0
  u8 c;
  // for emulator of devo 10, 0x0 means white while others mean black
  c = color ? 0x00 : 0xaa; // 0xaa is grey color(not dot)
  gui.image[3*(LCD_WIDTH * gui.y + gui.x)] = c;
  gui.image[3*(LCD_WIDTH * gui.y + gui.x) + 1] = c;
  gui.image[3*(LCD_WIDTH * gui.y + gui.x) + 2] = c;
}
// this must be executed to continue drawing in the next row
    gui.x++;
    if(gui.x > gui.xend) {
        gui.x = gui.xstart;
        gui.y += gui.dir;
    }
}
void LCD_Clear(unsigned int color) {
(void)color;
memset(gui.image, 0xaa, sizeof(gui.image));
}


13
 楼主| 发表于 2016-12-28 15:23 | 只看该作者
本帖最后由 cappuccinojp 于 2016-12-28 15:42 编辑

是这样改吗 然后呢

怎么把源码 在写到固件中去 我是网站直接下载的 源代码



这部分是不是 nt7538 驱动

门外汉啊



14
发表于 2016-12-28 15:48 | 只看该作者
cappuccinojp 发表于 2016-12-28 15:23
是这样改吗 然后呢

怎么把源码 在写到固件中去 我是网站直接下载的 源代码

重新编译啊,网站上PB有教程,下载个编译环境装上,然后敲几个命令就行了。

15
 楼主| 发表于 2016-12-28 16:00 | 只看该作者
huhuzz 发表于 2016-12-28 15:48
重新编译啊,网站上PB有教程,下载个编译环境装上,然后敲几个命令就行了。

完全没学过 编译 2眼一抹黑~~ 练编译坏境 都找不到 哪里下载 更别说其他的了~~麻烦指导一下 编译环境 需要哪些 软件Docker ?

16
发表于 2016-12-28 20:26 | 只看该作者
cappuccinojp 发表于 2016-12-28 16:00
完全没学过 编译 2眼一抹黑~~ 练编译坏境 都找不到 哪里下载 更别说其他的了~~麻烦指导一下 编译环境 需 ...

原来是什么LCD,换成哪种OLED?

17
发表于 2016-12-29 11:13 | 只看该作者
cappuccinojp 发表于 2016-12-28 16:00
完全没学过 编译 2眼一抹黑~~ 练编译坏境 都找不到 哪里下载 更别说其他的了~~麻烦指导一下 编译环境 需 ...

是的,装个Docker,然后在Docker里面操作。
http://www.deviationtx.com/wiki/development/docker

18
发表于 2017-1-2 00:35 | 只看该作者
折腾无止境
19
发表于 2017-1-5 22:46 | 只看该作者
cappuccinojp 发表于 2016-12-28 16:00
完全没学过 编译 2眼一抹黑~~ 练编译坏境 都找不到 哪里下载 更别说其他的了~~麻烦指导一下 编译环境 需 ...

楼主搞定了吗?

20
 楼主| 发表于 2017-1-7 11:40 | 只看该作者

环境 没架设起来~~丢一边 在想办法


您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表