Lirc Input GPIO
0

25 posts in this topic

Hello,

 

I have a special Ir Receiver which works on a raspberry but not on nano pi neo air... input levels are different ?

I can receive signal (I have pulses and spaces) but datas are corrupted and I must transmit longer to have a proper result...

 

Is it possible to change Lirc input pin ?

Share this post


Link to post
Share on other sites

I have a special Ir Receiver which works on a raspberry but not on nano pi neo air... input levels are different ?

 

Can't tell if you don't provide exact part name and how is it connected to the board.

 

 

Is it possible to change Lirc input pin ? or set GPIO in pullup or pulldown modes ? Maybe it will solve this problem...

 

No, PL11 pin is the only one which supports IR RX mode. Pull-up/-down resistors are usually external, which means that you need to add it if applicable. Check schematic for any OrangePi board with IR (all of them except zero)

Share this post


Link to post
Share on other sites

It has a possibility, but it doesn't include IR by default, whereas other boards do. I was talking about schema from which you can clearly see how to properly connect IR.

Share this post


Link to post
Share on other sites

Can't tell if you don't provide exact part name and how is it connected to the board.

 

About what can't you tell me ? Nevermind

You tell me that schematics are differents and I see PL11 it is pulled up with at 3.3V with a 10k

(http://wiki.friendlyarm.com/wiki/images/9/98/NanoPi-NEO-Air-1608-Schematic.pdf Sheet 10)

 

So I better understand now :) Thank you ^^

 

I must know now how to change the lirc software input (in order to use a different input pin on which I will be able to add a pullup if necessary)

I checked script.fex, lirc hardware.conf, boot.cmd but I can't find how to manage it, I must recompile the driver ?

Share this post


Link to post
Share on other sites

Pull-up/-down resistors are usually external

 

Mmmm.... "usually" ? This is a point of view ^^ It protects the board and can be set by software when internal. Now I see the difference with rasp but never mind. I hope I will be able to change the lirc input :D

Share this post


Link to post
Share on other sites

Please read the @jernej's message fully

 

Read my message fully please Is it possible to change Lirc input pin ? I don't need the 'IR RX mode' you are talking about. Maybe I can modify the fex file in order to use lirc with another hardware input ?

 

Is it possible to change Lirc input pin ?

Share this post


Link to post
Share on other sites

If someone knows how to modify lirc input, I am still interested :) :)

Share this post


Link to post
Share on other sites

It will be ok if I change port:PL11 => port:PA2 ? (for example)

SMC is not used... so PA2 is free I think.

After fex to bin then reboot

 

Very wrong idea to use PA02 :D

Share this post


Link to post
Share on other sites

That's what I do on rapsberry :

modprobe lirc_rpi gpio_in_pin=17

 

How can I do on NanoPiNeoAir ?

Share this post


Link to post
Share on other sites

I have found something in the fex file

https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/h3/xunlong_orange_pi_pc.fex

 

[s_cir0]

ir_used = 1

ir_rx = port:PL11<2><1><default><default>

 

The wiki tell to use it

https://linux-sunxi.org/FriendlyARM_NanoPi_NEO

 

It will be ok if I change port:PL11 => port:PA2 ? (for example)

SMC is not used... so PA2 is free I think.

After fex to bin then reboot

 

Actually, ir_rx is not used anywhere, because PL11 is the only pin which supports HW IR receive.

 

I don't need the 'IR RX mode' you are talking about.

 

Which mode you need then? TX? It is not supported by HW.

 

That's what I do on rapsberry :

modprobe lirc_rpi gpio_in_pin=17

 

How can I do on NanoPiNeoAir ?

P.S. This driver doesn't use HW unit, you should use sunxi_cir (or something like that, I can't check in this moment) for pin PL11

 

AFAIK, RPi doesn't have HW IR support. Driver emulates this functionality through GPIO and external interrupts. Some people already fiddle with it, but I did not hear any success story. I'm not sure if those people actually understand what they were doing. One of the prerequirements is that pin must support external interrupt.

 

I never bothered to try to make it work on a GPIO if HW IR on PL11 work flawlessly on basically any Orange and should on any other board too. There are some who managed to hand solder it to One and it worked.

 

You tell me that schematics are differents and I see PL11 it is pulled up with at 3.3V with a 10k

(http://wiki.friendlyarm.com/wiki/images/9/98/NanoPi-NEO-Air-1608-Schematic.pdf Sheet 10)

 

According to Orange Pi PC Plus schematic that 10k pull up is ok for IR. Just add 33R resistor between 3.3V and IR receiver power pin and decoupling capacitor and you should be fine.

 

I still don't understand why you are so determined to use it on another pin.

Share this post


Link to post
Share on other sites
@jernej Stories ? I don't know. I just want to use lirc like I use it on rasp.

I retrieve pulses and spaces with rasp and I want to do it on nanopi.

 

A command line like "modprobe sunxi_cir gpio_in_pin=17" should be great if you have it.

 

I don't want a "pin which supports HW IR receive" if "RPi doesn't have HW IR support" I don't know why you are telling to me that I can't use lirc without it.

Just want to change lirc on another input pin because as far as I know PL11 and his hardware doest not do what I want.

 

So Is it possible to change Lirc input pin ?

Share this post


Link to post
Share on other sites

I removed the 10k pullup resistance, I expected to have the same input level as on rasp, but I don't... How can I do ?

 

 

According to Orange Pi PC Plus schematic that 10k pull up is ok for IR. Just add 33R resistor between 3.3V and IR receiver power pin and decoupling capacitor and you should be fine.

 

I still don't understand why you are so determined to use it on another pin.

 

What value of coupling capacitor should I use ?

 

Must I compare the gpio input pin circuitry of the BCM2835 (rasp) with the H3 ?

If somebody knows the differences and how to get the same as rasp, it should be great.....

 

I thought NanoPiAir was rasp compatible but it's not :( ?

Share this post


Link to post
Share on other sites

Why do you expect that it will be completely the same as with Raspberry? They have completely different chips with nothing in common, not even the CPU cores.

 

I said that 10k pull-up should be there for receiver, I don't know why did you remove it. If you are really desperate to use same driver as on Raspberry Pi, then you will have to do dirty work of making driver H3 compatible. Please read whole thread: https://forum.armbian.com/index.php/topic/1288-opi-pc-with-lirc-ir-transmit/?p=24200

 

Still, you didn't answer why do you need this if not for receiver (IR RX).

I don't need the 'IR RX mode' you are talking about.

Share this post


Link to post
Share on other sites

I don't want to transmit, I just want to have the same result (input level) as I have on rasp.

 

 

Hello,

 

I have a special Ir Receiver which works on a raspberry but not on nano pi neo air... input levels are different ?

I can receive signal (I have pulses and spaces) but datas are corrupted and I must transmit longer to have a proper result...

 

Is it possible to change Lirc input pin ?

How can I make lirc working like on rasp

 

Share this post


Link to post
Share on other sites

I said that 10k pull-up should be there for receiver, I don't know why did you remove it.

 

Why did I removed it ? I think you are asking too many existential questions....

I removed it because I don't want to have a pullup (I don't have a pull up as far as I know on rasp) and because according to you it's not possible to use lirc on another input.

 

Does somebody knows how to get the same input level as on rasp ?  :D 

Share this post


Link to post
Share on other sites

No, I don't, because I happily use already present IR receiver on Oranges (same chip). Maybe someone else can help you.

Share this post


Link to post
Share on other sites

I use a remote every day on beelink and it's ok, but it's not the question, please better read my topic !

I have a special receiver and I just want to make it work like on my rasp, so :

 

Does somebody knows how to get the same input level as on rasp ?    :D 

 

Or if someone knows the schematic differences ? I still don't understand what's the difference and how make things works like on rasp...

What electrical input levels or input filters are different inside the chip ?

Share this post


Link to post
Share on other sites

These boards may be similar to the Raspberry Pi, but they are not compatible with the RPi and generic Raspberry Pi knowledge and instructions may not apply to Orange Pi boards.

 

For example this board is sold gpio compatible with rasp, is it ?

https://www.alibaba.com/product-detail/Orange-Pi-One-SET5-Orange-Pi_60508338897.html

Similar? Yes. Compatible? No. This board (Orange Pi One), for example, requires soldering to connect IR receiver since PL11 is not present on any pin headers.

Most of HW interfaces (UART, SPI, I2C) will be present on the same pins on the pin header, but from software PoV functionality of these pins (PWM, IR receiving, interrupts) will be different.

Share this post


Link to post
Share on other sites

Thank you Zador for your answer :D

 

Actually the sunxi_cir driver gives some pulses and spaces with real time precision, so software is perfect I think.

I think it's a hardware problem because when the signal of the receiver is strength enough, it works !

 

Maybe it's due to insulation or the input level is 5V or that's because it's multiplexed ?

 

I compare

http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/raspberry-pi/gpio-pin-electrical-specifications

And

http://dl.linux-sunxi.org/H3/Allwinner_H3_Datasheet_V1.0.pdf

 

But I can't find an explaination.

Why I don't have the same result I have on rasp and how can I have it ?

Share this post


Link to post
Share on other sites

I see that sunxi_cir hardware threshold detection can be modified, usually used to reduce noise level.

http://lxr.free-electrons.com/source/drivers/media/rc/sunxi-cir.c

 

I don't know if it will increase pulses and spaces detection for my use...

 

I see that there are many drivers when I try a make menuconfig

/usr/src/linux-headers-3.4.113-sun8i/drivers/media/rc/Kconfig

 

I tried to use another module so I made modifications in /etc/lirc/hardware.conf

# MODULES="sunxi_cir"

MODULES="lirc_dev"
 

It does not seems to have effect, I have nearly the same wrong pulses and spaces (still a bad level detection I think).

If I modify the sunxi-cir.c how can I generate the ko ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
0

  • Support the project

    We need your help to stay focused on the project.

    Choose the amount and currency you would like to donate in below.