03:11 | berto_bxl | joined the channel | |
03:17 | berto_bxl | left the channel | |
04:27 | illwieckz | left the channel | |
04:50 | Bertl | off to bed now ... have a good one everyone!
| |
04:50 | Bertl | changed nick to: Bertl_zZ
| |
05:01 | illwieckz | joined the channel | |
05:05 | futarisIRCcloud | joined the channel | |
05:31 | Dest123 | left the channel | |
06:17 | BAndiT1983|away | changed nick to: BAndiT1983
| |
07:25 | futarisIRCcloud | left the channel | |
08:11 | BAndiT1983 | hi metal_dent[m], how is it going?
| |
08:13 | metal_dent[m] | Hi, morning!
| |
08:14 | metal_dent[m] | to remove the fixed position of ImageButton, I created two x and y variables which will be initialised in the screens along with the icon data
| |
08:15 | BAndiT1983 | why screens?
| |
08:15 | BAndiT1983 | have you committed your code yet?
| |
08:15 | metal_dent[m] | yes, i have
| |
08:15 | BAndiT1983 | if you place such data in the screens, then you're breaking up the responsibility area
| |
08:16 | BAndiT1983 | as image buttons belong to button bar topic, it should be handled there
| |
08:16 | BAndiT1983 | or do you use it differently now?
| |
08:17 | metal_dent[m] | okay, i thought as x and y are the parameters of ImageButton so i can initialise them along the icon data
| |
08:17 | BAndiT1983 | nope, let's take a step back and check the state
| |
08:18 | BAndiT1983 | the home button is usually placed in the left button bar, which takes care of position
| |
08:19 | BAndiT1983 | what i see in the code additionally are attributes starting with capital letter, e.g. _X, this is not according to the guidelines
| |
08:20 | BAndiT1983 | the button is still fixed in size, but now it's tied to the icon size, the goal is to have button of any size higher than the icon, like 200x100 and icon centered for now
| |
08:23 | metal_dent[m] | ouuu, now i get it; before i thought why would we need a button greater than the icon size but we may need if we want to create a button with icon and text (for eg.)
| |
08:24 | BAndiT1983 | yes, also the image button or image button with text could be placed at the bottom or top bar, and there it has to be wider
| |
08:25 | metal_dent[m] | yes yes
| |
08:25 | se6ast1an | good day
| |
08:25 | BAndiT1983 | buttons size should be variable, icon sizes are predefined as 24x24 for now, at least for button bars on the sides
| |
08:25 | BAndiT1983 | hi
| |
08:26 | BAndiT1983 | when the conversion to the .h file is ready, we have also to think about larger icons, e.g. if you look at the knob image in the video of WB screen from C firmware
| |
08:33 | se6ast1an | <BAndiT1983> what i see in the code additionally are attributes starting with capital letter, e.g. _X, this is not according to the guidelines <- what BAndiT1983 means is that there are certain naming conventions for variables and member fields, all members start with "_" and are follow by a lower case letter
| |
08:33 | se6ast1an | followed by https://en.wikipedia.org/wiki/Camel_case naming
| |
08:34 | metal_dent[m] | okay, got it! thanks!
| |
08:34 | BAndiT1983 | you can refer to this stub of guidelines -> https://wiki.apertus.org/index.php/OpenCine.Coding_Guidelines
| |
08:35 | se6ast1an | we should copy those guidelines to the remote readme
| |
08:36 | BAndiT1983 | hope we are not overloading the file, maybe we should use multiple MD ones
| |
08:42 | se6ast1an | also an option CodingGuidelines.md ?
| |
08:46 | se6ast1an | - Private attributes should be prefixed with an underscore ( _ ). <- do you want to differenciate between private, protected, ublic here or just all?
| |
08:46 | BAndiT1983 | usually we shouldn'T have public attributes, as everything should happen through setter/getter
| |
08:46 | BAndiT1983 | but protected and private should start with _
| |
08:47 | se6ast1an | and the term is member variable or member field not "attribute" no?
| |
08:47 | BAndiT1983 | if public attrbiutes ar present, e.g. struct are public by default, then the attributes have to start with capital letter, e.g. Icon struct -> Width, Height etc.
| |
08:48 | BAndiT1983 | variables in classes are called attributes
| |
08:48 | BAndiT1983 | https://stackoverflow.com/questions/18282330/c-is-it-correct-to-call-class-member-variables-attributes
| |
08:49 | se6ast1an | "The C++ standard, however, does not use these terms (apart from attributes of course, as explained above). If you don't want to risk anything and always be correct, use "data members" and "member functions"."
| |
08:49 | BAndiT1983 | attributes and methods are the usual terms for me when speaking about classes, of course the mileage can vary, like stackoverflow thread shows
| |
08:49 | se6ast1an | https://en.wikipedia.org/wiki/Member_variable
| |
08:49 | se6ast1an | https://docs.microsoft.com/en-us/cpp/cpp/attributes?view=vs-2019
| |
08:50 | BAndiT1983 | that's not C++ from microsoft, but the hybrid for .NET interoperation
| |
08:51 | se6ast1an | I just googled "c++ attribute"
| |
08:51 | BAndiT1983 | haven't used their version for quite some time, as they have some properties there, which are not standard at all
| |
08:52 | BAndiT1983 | http://www.fredosaurus.com/notes-cpp/oop-classes/oopterms.html
| |
08:53 | BAndiT1983 | am sticking to method and attribute, as that's what we use at work also
| |
08:53 | BAndiT1983 | and it's the third company i work for, since my career start
| |
08:53 | se6ast1an | feel free to update, extend/improve: https://github.com/apertus-open-source-cinema/AXIOM-Remote/blob/dev/CodingGuidelines.md
| |
08:55 | BAndiT1983 | oops, the file crashed my vscode, when i've tried to open markdown preview
| |
08:55 | se6ast1an | also added reference to readme: https://github.com/apertus-open-source-cinema/AXIOM-Remote/blob/dev/README.md
| |
09:07 | BAndiT1983 | formatted the page
| |
09:14 | BAndiT1983 | the order in the guidelines has to be adjusted a bit, as naming is at the bottom, but can be done a bit later, have to do my regular work first
| |
09:22 | se6ast1an | sure
| |
11:25 | BAndiT1983 | metal_dent[m]: any news?
| |
11:26 | metal_dent[m] | i have a ques:
| |
11:26 | metal_dent[m] | should there be any constraint on the length of the makefile?
| |
11:27 | BAndiT1983 | depends on what has to be done, why?
| |
11:28 | metal_dent[m] | as i need to add the commands for the xbm to header file conversion so i was thinking maybe the makefile might look messy / long so i can make another script which is called from the makefile
| |
11:31 | BAndiT1983 | will wait for your commit, otherwise it's hard to make a conclusion
| |
11:31 | metal_dent[m] | alright! will be completed by today..
| |
12:41 | Bertl_zZ | changed nick to: Bertl
| |
12:41 | Bertl | morning folks!
| |
13:28 | futarisIRCcloud | joined the channel | |
16:03 | metal_dent[m] | i kinda underestimated this task ':D, maybe it will take a little longer... sorry for that
| |
16:06 | BAndiT1983 | that's the goal of gsoc, to learn what it takes to accomplish some tasks, and this won't be the last one, bootloader is a playground full of fun, sharp razors and bloody mess
| |
16:11 | Bertl | wasn't a bloody mess last time I checked ... what happened? :)
| |
16:11 | metal_dent[m] | yes, by doing this i got to know a lot of things about makefile and bash scripts
| |
16:13 | metal_dent[m] | > wasn't a bloody mess last time I checked ... what happened? :)
| |
16:13 | metal_dent[m] | i'm trying to get the info from the xbm file and saving in variable in makefile but that's not working ; the sed command is correct as it's working on the terminal ; something missing in the assignment i guess
| |
16:14 | BAndiT1983 | Bertl: was just a figurative speech, as the results are not that obvious when doing some things related to hardware, especially when you don't have that many output options, but USB-UART worked well
| |
16:14 | BAndiT1983 | and was solely about the bootloader, not about metal_dent[m]s code
| |
16:14 | metal_dent[m] | ohh sry, i thought Bertl asked me ':D
| |
16:14 | BAndiT1983 | metal_dent[m]: can you upload your code?
| |
16:19 | metal_dent[m] | here -> https://pastebin.com/raw/Y6BzVx1N
| |
16:24 | BAndiT1983 | does it require the $(call ...) syntax?
| |
16:24 | BAndiT1983 | ah, it's a script at the top
| |
16:26 | BAndiT1983 | how does your sample.h look like, by the way?
| |
16:27 | metal_dent[m] | like the header file structure we have but without the data
| |
16:28 | BAndiT1983 | what's the output when you execute it?
| |
16:29 | metal_dent[m] | .h files are created but the WIDTH, HEIGHT's values are blank
| |
16:30 | metal_dent[m] | but when i execute the sed command it gives the correct value
| |
16:31 | metal_dent[m] | *execute in the terminal
| |
16:32 | BAndiT1983 | haven't used sed that much yet, but isn't there > missing to route into file?
| |
16:32 | BAndiT1983 | https://unix.stackexchange.com/questions/283407/can-sed-save-its-output-to-a-file
| |
16:33 | metal_dent[m] | no, i'm saving the values in the variables ; will place the values in .h with different sed commands later
| |
16:34 | BAndiT1983 | and why not directly?
| |
16:34 | metal_dent[m] | like:
| |
16:34 | metal_dent[m] | `sed -i "/data_icon\[/ s/1/$(WIDTH)/" $(1)`
| |
16:35 | metal_dent[m] | > and why not directly?
| |
16:35 | metal_dent[m] | because there are multiple places where width and height need to be placed
| |
16:35 | BAndiT1983 | multiple places? what do you mean?
| |
16:39 | metal_dent[m] | in the data[width*height] and also in the icon_name = {width, height, {data} }
| |
16:41 | BAndiT1983 | have you tried to fill your structure manually, as my impression is, that it doesn't need to be complicated
| |
16:42 | BAndiT1983 | inherit from Icon and try to do it manually first, to see if it is required to init it over multiple layers
| |
16:43 | metal_dent[m] | this is the sample file -> https://pastebin.com/raw/FJFD0UZz
| |
16:45 | BAndiT1983 | why do you use 1 instead of placeholders? second thing, it's still not deriving from Icon, which provides generic structure
| |
16:51 | metal_dent[m] | yes, it's the same as the one which we have now ; okay i'll derive it from Icon
| |
16:53 | BAndiT1983 | first you should add placeholders, otherwise i cannot recognize what you are replacing
| |
16:53 | BAndiT1983 | e.g. uint16_t Width = $WIDTH$;
| |
16:53 | metal_dent[m] | okay, noted!
| |
16:53 | BAndiT1983 | although when deriving, you don'T have to do type etc.
| |
16:53 | BAndiT1983 | *-do +add
| |
16:53 | BAndiT1983 | this is why i tell you to try it manually first, before doing conversion
| |
17:54 | BAndiT1983 | changed nick to: BAndiT1983|away
| |
18:37 | Bertl | off for now ... bbl
| |
18:37 | Bertl | changed nick to: Bertl_oO
| |
18:58 | anuejn | Bertl_oO: we have got working hdmi with our nmigen gateware now :)
| |
18:59 | anuejn | works glitch-free at 1080p60 with my monitor
| |
19:29 | BAndiT1983|away | changed nick to: BAndiT1983
| |
21:11 | se6ast1an | hurray!, great anuejn!!!
| |
21:27 | BAndiT1983 | changed nick to: BAndiT1983|away
| |
22:14 | anuejn | with some tweaking it also seems to work with 2304×1440@60Hz (218.75Mhz pixel clock)
| |
22:15 | anuejn | or ~2.2Gbit/s line rate
| |
22:48 | Bertl_oO | that is impressive!
| |
22:49 | Bertl_oO | does the code work on both platforms (beta and micro)?
| |
23:22 | anuejn | didnt try (yet?) on the beta
| |
23:28 | anuejn | but somehow we are struggeling to convince the camlink 4k to accept any signal :(
| |
23:28 | anuejn | even with the exact advertized modelines it doesnt work
| |
23:28 | anuejn | neither at 640x480 nor at full hd
| |
23:29 | Bertl_oO | are you generating RGB or YCrCb?
| |
23:30 | anuejn | rgb
| |
23:30 | anuejn | but should the monitor be able to detect what we are sending?
| |
23:30 | Bertl_oO | yes, the problem with YCrCb/YUV is that it requires specific data islands
| |
23:31 | Bertl_oO | I've also had problems with the CamLink4K and any output from the Beta
| |
23:31 | anuejn | in the horizontal / vertical blanking?
| |
23:32 | Bertl_oO | I suspect that the firmware does check certain settings in the HDMI chip and/or the HDMI chip does check/require certain settings
| |
23:33 | Bertl_oO | yes, data islands are part of HDMI (not defined for DVI)
| |
23:34 | anuejn | ah ok i see
| |
23:37 | anuejn | do you know how the hdmi source gets to know if they have to do YCrCb or RGB?
| |
23:37 | anuejn | bc. i cant find it in the modeline
| |
23:40 | Bertl_oO | good question
| |
23:42 | Bertl_oO | Display Type field bits 3-4 maybe?
| |
23:43 | Bertl_oO | (edid structure, byte 24)
| |
23:43 | vup | https://edid.tv/edid/660/
| |
23:43 | vup | I think that says RGB color display
| |
23:44 | Bertl_oO | good point
| |
23:55 | Bertl_oO | maybe check the ITE status?
| |
23:56 | Bertl_oO | I2C registers should be available via USB
| |
23:56 | anuejn | with the stock firmware?
| |
23:56 | Bertl_oO | yup
| |
23:57 | anuejn | how?
| |
23:57 | Bertl_oO | let me dig out my notes ...
| |
23:57 | anuejn | thanks :)
| |
00:15 | RexOrCine | left the channel | |
00:16 | vup | atleast according to the hdmi spec: All HDMI Sources and Sinks shall be capable of supporting RGB 4:4:4 pixel encoding.
| |
00:17 | Bertl_oO | good to know
| |
00:26 | RexOrCine | joined the channel |